6.3.6. 扩展 ZooKeeper 集群


这个步骤描述了如何将服务器(节点)添加到 ZooKeeper 集群。ZooKeeper 的动态重新配置 功能在向上扩展过程中维护一个稳定的 ZooKeeper 集群。

先决条件

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

流程

对每个 ZooKeeper 服务器执行以下步骤,一次一个服务器:

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

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

    reconfig -add server.<positive-id> = <address1>:<port1>:<port2>[:role];[<client-port-address>:]<client-port>

    例如:

    reconfig -add server.4=172.17.0.4:2888:3888:participant;172.17.0.4:2181

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

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

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

  5. 对您要添加的其他服务器重复第 1-4 步。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.