12.2. 在 ZooKeeper 集群中添加节点


在不停止整个集群的情况下,使用动态重新配置 从 ZooKeeper 集群添加节点。动态重新配置允许 ZooKeeper 更改一组组成 ZooKeeper 集群的节点成员资格,而不中断。

先决条件

  • ZooKeeper 配置文件中启用了动态重新配置(reconfigEnabled=true)。
  • 启用了 ZooKeeper 身份验证,您可以使用身份验证机制访问新的服务器。

流程

为您要添加的每个 ZooKeeper 服务器执行以下步骤,一次一个:

  1. 在 ZooKeeper 集群中添加服务器,如 第 4.1 节 “运行多节点 ZooKeeper 集群” 所述,然后启动 ZooKeeper。
  2. 请注意新服务器的 IP 地址和配置的访问端口。
  3. 为服务器启动 zookeeper-shell 会话。从可以访问集群的机器中运行以下命令(如果可以访问集群,这可能是 ZooKeeper 节点或本地机器之一)。

    su - kafka
    /opt/kafka/bin/zookeeper-shell.sh <ip-address>:<zk-port>
    Copy to Clipboard Toggle word wrap
  4. 在 shell 会话中,运行 ZooKeeper 节点,输入以下行将新服务器作为投票成员添加到仲裁中:

    reconfig -add server.<positive-id> = <address1>:<port1>:<port2>[:role];[<client-port-address>:]<client-port>
    Copy to Clipboard Toggle word wrap

    例如:

    reconfig -add server.4=172.17.0.4:2888:3888:participant;172.17.0.4:2181
    Copy to Clipboard Toggle word wrap

    其中 <positive-id> 是新服务器 ID 4

    对于两个端口,<port1> 2888 用于 ZooKeeper 服务器之间的通信,<port2> 3888 用于领导选举机制。

    新配置传播到 ZooKeeper 集群中的其他服务器 ; 新服务器现在是仲裁的完整成员。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat