如何将新的Kafka代理机器动态添加到集群中



我们有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设置更改为以下

我很乐意收到关于以下程序的备注/说明

  1. 在新的Kafka代理kafka04/05/06上编辑server.properties文件,并将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上,使用位于kafka01kafka02kafka03上的动物园管理员服务器ip编辑server.properties并更新参数zookeeper.connect

    示例

    zookeeper.connect=10.10.10.1:2181,10.10.10.2:2181,10.10.10.3:2181
    
  4. 在Kafka机器kafka 04/05/06上,将文件zookeeper.properties编辑为
    Following

    server.1=10.10.10.1:2888:3888
    server.2=10.10.10.2:2888:3888
    server.3=10.10.10.3:2888:3888
    
  5. Kafka 04/05/06上编辑文件-myid文件,并将参数broker.id更改为之后

    kafka04集合上:

    broker.id=4
    

    kafka05集合上:

    broker.id=5
    

    kafka06集合上:

    broker.id=6
    
  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

最新更新