我们有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
现在我们要添加一个新的 3 Kafka
将机器代理到当前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和zookeeper设置,如下所示
我很乐意得到关于下列程序的意见/说明
编辑 server.properties
新Kafka经纪人档案- 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
, kafka02
, kafka03
例子
zookeeper.connect=10.10.10.1:2181,10.10.10.2:2181,10.10.10.3:2181
在Kafka的机器上- 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 brokers服务 kafka01/02/03/04/05/06
并重新启动上的zookeeper服务器 kafka01/02/03
并验证所有kafka服务和zookeeper服务已成功启动
参考信息-https://www2.microstrategy.com/producthelp/current/platformanalytics/en-us/content/add_kafka_node_to_kafka_cluster.htm
1条答案
按热度按时间roejwanj1#
添加代理时,不需要更改现有代理的配置,也不需要重新启动它们。如果不添加新的zookeeper服务器,则zookeeper也是如此。
对于新的经纪人,你只需要设置一个不同的
broker.id
价值观。我不建议将主题(包括内部)的复制因子增加到3以上。
一旦您的新代理启动,您可能需要重新平衡现有数据。有很多工具可以做到这一点,包括
kafka-reassign-partitions.sh
工具。《Kafka文件》有一节详细介绍了这一过程:https://kafka.apache.org/documentation/#basic_ops_cluster_expansion