Edge for Private Cloud 4.18.05
本文件說明如何在現有的 Edge for Private Cloud 安裝中新增三個 ZooKeeper 節點。
您可以將一或兩個 ZooKeeper 節點新增至現有的 Edge 安裝,但必須確保 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 名稱。IP 位址或 DNS 名稱必須在所有 ZooKeeper 節點上以相同順序列出。在多資料中心環境中,列出兩個資料中心的所有 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
修飾符的節點稱為「投票者」。設定中必須有奇數個「投票者」。因此,在這個設定中,您有 5 個 ZooKeeper 投票者和一個觀察者。
請務必按照相同順序,將節點新增至 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 節點上:
- 使用新的設定檔重新執行設定指令:
/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
重新設定所有路由器
在所有 Router 節點上:
- 執行設定指令:
/opt/apigee/apigee-service/bin/apigee-service edge-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
行中,一個節點應指定為觀察器,一個節點為領導節點,其餘節點則為追隨節點。