添加 ZooKeeper 节点

适用于私有云的 Edge v4.18.01

本文档介绍如何向现有 Edge for Private 添加三个新的 ZooKeeper 节点 云端安装。

您可以向现有的 Edge 安装添加一个或两个 ZooKeeper 节点,但必须 确保您的 ZooKeeper 选民节点数量始终为奇数,如下所述。

现有 Edge 配置

生产系统支持的所有 Edge 拓扑均指定使用三个 ZooKeeper 节点。这三个节点分别指定给 ZK_HOSTSZK_CLIENT_HOSTS 属性,如下所示:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com 
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt 
MSIP=$IP1 
USE_LDAP_REMOTE_HOST=n 
LDAP_TYPE=1
APIGEE_LDAPPW=secret 
MP_POD=gateway
REGION=dc-1 
ZK_HOSTS="$IP1 $IP2 $IP3" 
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" 
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" 
SKIP_SMTP=n
SMTPHOST=smtp.example.com 
SMTPUSER=smtp@example.com  
SMTPPASSWORD=smtppwd       

其中:

  • ZK_HOSTS 指定 ZooKeeper 节点的 IP 地址或 DNS 名称。IP 地址或 DNS 名称 必须在所有 ZooKeeper 节点上以相同的顺序列出。在多数据中心环境中 列出两个数据中心的所有 ZooKeeper 节点。
  • ZK_CLIENT_HOSTS 会指定 此数据中心使用的 ZooKeeper 节点的 IP 地址或 DNS 名称。IP 地址 或 DNS 名称必须在所有 ZooKeeper 节点上以相同的顺序列出。

    在单个数据中心安装中,这些节点与 ZK_HOSTS 指定的节点相同。在多数据连接中, 中心环境中,仅列出此数据中心中的 ZooKeeper 节点。

修改配置文件以添加 三个新的 ZooKeeper 节点

在此示例中,三个新的 ZooKeeper 节点位于以下 IP 地址:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

您必须先更新 Edge 配置文件才能添加新节点:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
# Add the new node IP addresses.
IP14=10.10.0.14
IP15=10.10.0.15
IP16=10.10.0.16
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com 
...
# Update ZK_HOSTS to add each new node after an existing nodes. 
ZK_HOSTS="$IP1 $IP2 $IP3 $IP14 $IP15 $IP16:observer" 
# Update ZK_Client_HOSTS to add each new node after an existing nodes. 
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3 $IP14 $IP15 $IP16" 

ZK_HOSTS 中的最后一个节点标记为 “:observer”修饰符。不带“:observer”修饰符的节点称为 “voters”。“投票者”数量必须为奇数。因此,在这个 则有 5 位 ZooKeeper 投票者和 1 位观察者。

请务必在同一处将节点添加到 ZK_HOSTSZK_CLIENT_HOSTS 订单。不过,请在设置 ZK_CLIENT_HOSTS 时省略“:observer”修饰符。

配置 Edge

修改配置文件后,您必须执行以下所有任务。

在新节点上安装 ZooKeeper

  1. 在 Pod 上安装 apigee-setup安装 Edge apigee-setup 实用程序
  2. 使用以下命令在第一个节点上安装 ZooKeeper:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper 安装
    >/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper 设置 -f updatedConfigFile
  3. 对剩余的新 ZooKeeper 节点重复执行第 1 步和第 2 步。

重新配置现有的 ZooKeeper 节点

在现有的 ZooKeeper 节点上:

  1. 使用“-p c”重新运行设置命令配置文件和新的配置文件:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper 设置 -f updatedConfigFile

重启所有 ZooKeeper 节点

在所有 ZooKeeper 节点上:

  1. 重启节点:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper 重启

    您必须重启所有 ZooKeeper 节点,但重启顺序无关紧要。

重新配置管理服务器 节点

在管理服务器节点上:

  1. 运行设置命令:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-management-server 设置 -f updatedConfigFile
  2. 重启管理服务器:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-management-server restart”

重新配置所有路由器

在所有路由器节点上:

  1. 运行设置命令:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router 设置 -f updatedConfigFile
  2. 重启路由器:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router restart

重新配置所有消息 处理器

在所有消息处理器节点上:

  1. 运行设置命令:
    /opt/apigee/apigee-service/bin/apigee-service Edge-message-processor setup -f updatedConfigFile
  2. 重启消息处理器:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

重新配置所有 Qpid 节点

在所有 Qpid 节点上:

  1. 运行设置命令:
    > /opt/apigee/apigee-service/bin/apigee-serviceedge-qpid-server 设置 -f updatedConfigFile
  2. 重启 Qpid:
    > /opt/apigee/apigee-service/bin/apigee-serviceEdge-qpid-server restart

重新配置所有 Postgres 节点

在所有 Postgres 节点上:

  1. 运行设置命令:
    > /opt/apigee/apigee-service/bin/apigee-serviceedge-postgres-server 设置 -f updatedConfigFile
  2. 重启 Postgres:
    > /opt/apigee/apigee-service/bin/apigee-serviceEdge-postgres-server restart

验证安装

您可以通过向端口 2181 发送命令来验证新的 ZooKeeper 节点的安装 使用 netcat (nc) 或 telnet。如需详细了解 ZooKeeper 命令,请参阅:http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands

要进行验证,请执行以下操作:

  1. 如果未安装在 ZooKeeper 节点上,请安装 nc:
    >sudo yum install nc
  2. 运行以下 nc 命令:
    >回显统计信息 |NC 本地主机 2181
  3. 在每个 ZooKeeper 节点上重复执行第 1 步和第 2 步。
    在节点输出的 Mode 行中,应将一个节点指定为 观察器,一个节点作为主节点,其余节点作为跟随节点。