我们有Kafka融合集群,集群包括 3 Kafka经纪人,
版本详细信息:
Kafka machines are installed on rhel version 7.2
Kafka confluent version is 0.1x
Zookeeper version: 3.4.10
schema-registry version: 4.0.0
每台Kafka经纪人机器都包含以下服务
Kafka broker
Zookeeper server
Schema registry
现在,我们想向当前的Kafka群集中添加一个新的3 Kafka
代理计算机(其他Kafka计算机是– kafka04/05/06
,具有相同的Kafka版本– 0.1X
,)>
因此群集最终应该与:
6 Kafka
经纪人机器-kafka01, kafka02 , kafka03 , kafka04 , kakfa05 , kafka05
3 zookeeper
服务器-kafka01, kafka02 , kafka03
3 schema registry
服务-kafka01, kafka02 , kafka03
为了将新的3 Kafka
代理连接到现有的Kafka集群,我们需要更改所有Kafka计算机(旧的Kafka计算机和新的Kafka计算机)上的配置
我们不确定应该更改的Kafka代理中的配置文件是什么,但是根据我的 了解 ,我们应该按以下方式更改Kafka和zookeeper设置
我很乐意收到有关以下过程的评论/说明
在新的Kafka经纪人-server.properties
上编辑kafka04/05/06
文件,并将broker.id
参数更改如下
在kafka04上-broker.id=4
在kafka05上-broker.id=5
在kafka06上-broker.id=6
在所有Kafka机器上编辑server.properties-kafka01/02/03/04/05/06
并将以下参数更改为集群中的总节点数
offsets.topic.replication.factor=6
transaction.state.log.replication.factor=6
在新的Kafka机器上-Kafka 04/05/06
编辑server.properties
并使用zookeeper.connect
上的zookeeper服务器ip更新参数kafka01
,{ {1}},kafka02
示例
kafka03
在Kafka机器上– zookeeper.connect=10.10.10.1:2181,10.10.10.2:2181,10.10.10.3:2181
中,将文件kafka 04/05/06
编辑为
正在关注
zookeeper.properties
编辑文件-server.1=10.10.10.1:2888:3888
server.2=10.10.10.2:2888:3888
server.3=10.10.10.3:2888:3888
上的myid
文件,并将参数Kafka 04/05/06
更改为
正在关注
在broker.id
上设置:
kafka04
在 broker.id=4
上设置:
kafka05
在 broker.id=5
上设置:
kafka06
完成上述设置后,重新启动 broker.id=6
上的所有Kafka代理服务,并重新启动kafka01/02/03/04/05/06
上的zookeeper服务器
并确认所有Kafka服务和Zookeeper服务已成功启动
答案 0 :(得分:6)
添加代理时,无需更改现有代理的配置,也无需重新启动它们。如果您不添加新的ZooKeeper服务器,则同样适用于ZooKeeper。
在新的代理上,您只需要设置一个不同的broker.id
值即可。
我不建议将主题(包括内部主题)的复制因子提高到3以上。
一旦启动了新的代理,您可能希望重新平衡现有数据。有许多工具可以做到这一点,包括kafka-reassign-partitions.sh
工具。 Kafka文档的一节详细介绍了该过程:https://kafka.apache.org/documentation/#basic_ops_cluster_expansion