适用于私有云的 Edge v4.18.01
本文档介绍了如何向现有的 Edge for Private Cloud 安装添加三个新的 ZooKeeper 节点。
您可以向现有 Edge 安装添加一个或两个 ZooKeeper 节点,但必须确保 ZooKeeper 投票节点的数量始终为奇数,如下所述。
现有 Edge 配置
适用于生产系统的所有受支持 Edge 拓扑都指定使用三个 ZooKeeper 节点。将这三个节点指定为配置文件中的 ZK_HOSTS 和 ZK_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 名称。所有 ZooKeeper 节点上的 IP 地址或 DNS 名称必须按相同的顺序列出。在多数据中心环境中,列出两个数据中心中的所有 ZooKeeper 节点。
- ZK_CLIENT_HOSTS 用于指定此数据中心使用的 ZooKeeper 节点的 IP 地址或 DNS 名称。所有 ZooKeeper 节点上的 IP 地址或 DNS 名称必须按相同的顺序列出。
在单个数据中心安装中,这些节点与 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"
使用“:observer”修饰符标记 ZK_HOSTS 中的最后一个节点。不带“:observer”修饰符的节点称为“投票者”。您的配置中的“voters”数量必须为奇数。因此,在此配置中,您有 5 个 ZooKeeper 投票者和 1 个观察器。
请务必按照相同的顺序将节点添加到 ZK_HOSTS 和 ZK_CLIENT_HOSTS。不过,在设置 ZK_CLIENT_HOSTS 时,请忽略“:observer”修饰符。
配置 Edge
修改配置文件后,您必须执行以下所有任务。
在新节点上安装 ZooKeeper
- 按照安装 Edge apigee-setup 实用程序中的说明,在第一个节点上安装 apigee-setup。
- 使用以下命令在第一个节点上安装 ZooKeeper:
> /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper install
> /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile - 对剩余的新 ZooKeeper 节点重复执行第 1 步和第 2 步。
重新配置现有 ZooKeeper 节点
在现有的 ZooKeeper 节点上:
- 使用“-p c”配置文件和新配置文件重新运行设置命令:
> /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile
重启所有 Zookeeper 节点
在所有 ZooKeeper 节点上:
- 重启节点:
> /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
您必须重启所有 ZooKeeper 节点,但重启顺序无关紧要。
重新配置管理服务器节点
在管理服务器节点上:
- 运行设置命令:
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server setup -f updatedConfigFile - 重启管理服务器:
> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
重新配置所有路由器
在所有路由器节点上:
- 运行设置命令:
> /opt/apigee/apigee-service/bin/apigee-serviceedge-router setup -f updatedConfigFile - 重启路由器:
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart
重新配置所有消息处理器
在所有消息处理器节点上:
- 运行设置命令:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor setup -f updatedConfigFile - 重启消息处理器:
> /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
重新配置所有 Qpid 节点
在所有 Qpid 节点上:
- 运行设置命令:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server setup -f updatedConfigFile - 重启 Qpid:
> /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
重新配置所有 Postgres 节点
在所有 Postgres 节点上:
- 运行设置命令:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server setup -f updatedConfigFile - 重启 Postgres:
> /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
验证安装
您可以使用 netcat (nc) 或 telnet 向端口 2181 发送命令,验证新 ZooKeeper 节点的安装情况。如需详细了解 ZooKeeper 命令,请参阅:http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands。
要进行验证,请执行以下操作:
- 如果 ZooKeeper 节点上未安装 nc,请安装 nc:
> sudo yum install nc - 运行以下 nc 命令:
> echo stat | nc localhost 2181 - 在每个 ZooKeeper 节点上重复第 1 步和第 2 步。
在节点输出的 Mode 行中,应将一个节点指定为观察者,一个节点指定为主要节点,其余节点指定为关注者。