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掉了。

  • 相关阅读:
    Mybatis plus注解使用
    RabbitMQ--mandatory、immediate参数和备份交换器
    Assert.assertEquals作用
    @PreAuthorize,@PostAuthorize, @Secured注解+EL表达式
    Derby数据库简单介绍和使用方法
    微服务—链路追踪(Sleuth+Zipkin)
    SpringCloudStream学习笔记(转)
    Oracle-最大连接数
    Oracle-in查询超过1000
    Oracle-索引
  • 原文地址:https://www.cnblogs.com/int32bit/p/5310406.html
Copyright © 2011-2022 走看看