添加 ZooKeeper 节点

适用于私有云的 Edge v. 4.17.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 
BIND_ON_ALL_INTERFACES=y
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”重新运行 setup.sh配置文件和新的配置文件:
    > /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 行中,应将一个节点指定为 观察器,一个节点作为主节点,其余节点作为跟随节点。