我们有Kafka融合集群,集群包括3Kafka代理,
版本详细信息:
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 broker机器都包含以下服务
Kafka broker
Zookeeper server
Schema registry
现在,我们想在当前Kafka集群中添加一个额外的新3 Kafka
代理机器(额外的Kafka机器是具有相同Kafka版本的kafka04/05/06
——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机器(旧的Kafkamachines和新的KafKamachines(上的配置
我们不确定Kafka代理中应该更改的配置文件到底是什么,但根据我的理解我们应该将Kafka和zookeeper设置更改为以下
我很乐意收到关于以下程序的备注/说明
在新的Kafka代理
kafka04/05/06
上编辑server.properties
文件,并将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
上,使用位于kafka01
、kafka02
、kafka03
上的动物园管理员服务器ip编辑server.properties
并更新参数zookeeper.connect
示例
zookeeper.connect=10.10.10.1:2181,10.10.10.2:2181,10.10.10.3:2181
在Kafka机器
kafka 04/05/06
上,将文件zookeeper.properties
编辑为
Followingserver.1=10.10.10.1:2888:3888 server.2=10.10.10.2:2888:3888 server.3=10.10.10.3:2888:3888
在
Kafka 04/05/06
上编辑文件-myid
文件,并将参数broker.id
更改为之后在
kafka04
集合上:broker.id=4
在
kafka05
集合上:broker.id=5
在
kafka06
集合上:broker.id=6
如上设置后,重新启动
kafka01/02/03/04/05/06
上的所有Kafka代理服务,并重新启动kafka01/02/03
上的zookeeper服务器并验证所有Kafka服务和zookeeper服务成功启动
参考信息-https://www2.microstrategy.com/producthelp/current/PlatformAnalytics/en-us/Content/Add_kafka_node_to_kafka_cluster.htm
添加代理时,不需要更改现有代理的配置,也不需要重新启动它们。如果您不添加新的ZooKeeper服务器,这同样适用于ZooKeeper。
在新的Broker上,您只需要设置一个不同的broker.id
值。
我不建议将主题(包括内部(的复制因子增加到3以上。
一旦您的新代理启动,您可能需要重新平衡现有数据。有很多工具可以做到这一点,包括kafka-reassign-partitions.sh
工具。Kafka文档有一节详细介绍了这个过程:https://kafka.apache.org/documentation/#basic_ops_cluster_expansion