kakfa客户端内部获取你集群的地址全貌,获取的是
10.100.234.201:9092, 10.100.234.202:9092,10.100.234.203:9092。
kafka客户端把这些内网10.100.234.201-203
转换为你提供的外网地址1.2.3.4。
改变端口号,配置成功了
A:9092 B:9093 C:9094
按以前的配置,kafka集群在zk中的注册信息是
localdomain01:9092
localdomain02:9092
localdomain03:9092
改变之后变为:
localdomain01:9092
localdomain02:9093
localdomain03:9094
然后端口映射做了相应的修改
10.100.234.201 : 9092 -> 1.2.3.4 : 9092
10.100.234.202 : 9093 -> 1.2.3.4 : 9093
10.100.234.203 : 9094 -> 1.2.3.4 : 9094
但不知道以前那种配置为什么不行,按说不同hostname可以区分broker,为什么还要端口不同?
你执行下这个命令:
bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server 1.2.3.4:9093 --list
在zookeeper中,B服务器是leader(broker-2:10.100.234.202)
下面是topic的分区情况
Topic:remoteTopic PartitionCount:3 ReplicationFactor:3 Configs:
Topic: remoteTopic Partition: 0 Leader: 2 Replicas: 2,1,3 Isr: 1,2,3
Topic: remoteTopic Partition: 1 Leader: 3 Replicas: 3,2,1 Isr: 1,2,3
Topic: remoteTopic Partition: 2 Leader: 1 Replicas: 1,3,2 Isr: 1,2,3