zoukankan      html  css  js  c++  java
  • kafka集群配置总结

    虽然很简单,但会遇到很多奇怪的坑,而且网上解决方法搜不到。
    首先下载kafka包,解压缩后,修改conf/server.properties文件,基本配置项如下(省略了部分默认配置项 :

    broker.id=0
    advertised.host.name=master
    zookeeper.connect=master:2181,node1:2181,node2:2181
    

    以上需要注意的是advertised.host.name必须修改为主机名,否则会导致很多问题。
    每个主机的broker.id必须不一样。zookeeper.connect需要填写所有的zookeeper服务器地址端口,并且以上的主机名对应的node1,node2,...必须和/etc/hosts一致,并且集群外可以ping通(集群内可以使用内部ip,集群外使用外部ip,但主机名对应的机器必须一一对应,否则会出现Leader not local for partition错误,这是其中一个坑,搞了很久没有搞清楚.

    配置修改后,创建一个topic(topic一旦创建不能删除?只能标记为已删除?):

    bin/kafka-topics.sh --create --partitions 5 --replication-factor 3 --topic test3 --zookeeper master,node1,node2
    

    获取主题信息

    bin/kafka/bin$ ./kafka-topics.sh --describe --topic test3 --zookeeper master,node1
    

    输出:

    Topic:test3     PartitionCount:5        ReplicationFactor:3     Configs:
            Topic: test3    Partition: 0    Leader: 4       Replicas: 4,2,3 Isr: 4,2,3
            Topic: test3    Partition: 1    Leader: 5       Replicas: 5,3,4 Isr: 5,3,4
            Topic: test3    Partition: 2    Leader: 6       Replicas: 6,4,5 Isr: 6,4,5
            Topic: test3    Partition: 3    Leader: 7       Replicas: 7,5,6 Isr: 7,5,6
            Topic: test3    Partition: 4    Leader: 0       Replicas: 0,6,7 Isr: 0,6,7
    

    以上的Replicas和lsr必须一样,否则说明对应的broker down掉了。

  • 相关阅读:
    docker国内镜像地址
    springBoot+websocket集群系列知识
    多个idea项目使用同一个tomcat
    nginx+tomcat遇到的https重定向到http问题
    设置常用错误页面自定义显示
    mysql关于索引的一些零碎知识点(持续更新)
    Idea使用Lombok简化实体类代码
    mysql索引分类及实现原理
    使用SpringSession和Redis解决分布式Session共享问题
    HashMap ConcurrentHashMap解读
  • 原文地址:https://www.cnblogs.com/int32bit/p/5310406.html
Copyright © 2011-2022 走看看