如何将新的Kafka经纪人机器动态添加到集群

时间:2020-08-05 14:17:43

标签: apache-kafka

我们有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设置

我很乐意收到有关以下过程的评论/说明

  1. 在新的Kafka经纪人-server.properties上编辑kafka04/05/06文件,并将broker.id参数更改如下

    在kafka04上-broker.id=4 在kafka05上-broker.id=5 在kafka06上-broker.id=6

  2. 在所有Kafka机器上编辑server.properties-kafka01/02/03/04/05/06 并将以下参数更改为集群中的总节点数

     offsets.topic.replication.factor=6
     transaction.state.log.replication.factor=6
    
  3. 在新的Kafka机器上-Kafka 04/05/06编辑server.properties并使用zookeeper.connect上的zookeeper服务器ip更新参数kafka01,{ {1}},kafka02

    示例

    kafka03
  4. 在Kafka机器上– zookeeper.connect=10.10.10.1:2181,10.10.10.2:2181,10.10.10.3:2181 中,将文件kafka 04/05/06编辑为
    正在关注

    zookeeper.properties
  5. 编辑文件-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
  6. 完成上述设置后,重新启动 broker.id=6 上的所有Kafka代理服务,并重新启动kafka01/02/03/04/05/06上的zookeeper服务器

    并确认所有Kafka服务和Zookeeper服务已成功启动

参考信息-https://www2.microstrategy.com/producthelp/current/PlatformAnalytics/en-us/Content/Add_kafka_node_to_kafka_cluster.htm

1 个答案:

答案 0 :(得分:6)

添加代理时,无需更改现有代理的配置,也无需重新启动它们。如果您不添加新的ZooKeeper服务器,则同样适用于ZooKeeper。

在新的代理上,您只需要设置一个不同的broker.id值即可。

我不建议将主题(包括内部主题)的复制因子提高到3以上。

一旦启动了新的代理,您可能希望重新平衡现有数据。有许多工具可以做到这一点,包括kafka-reassign-partitions.sh工具。 Kafka文档的一节详细介绍了该过程:https://kafka.apache.org/documentation/#basic_ops_cluster_expansion