新增 ZooKeeper 節點

Private Cloud v. 4.17.09 版本

本文件說明如何將三個新的 ZooKeeper 節點新增至不公開的 Edge 雲端安裝。

您可以在現有的 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 選民和一位觀察者。

請務必在同一個 ZK_HOSTSZK_CLIENT_HOSTS 中新增節點, 順序。不過,設定 ZK_CLIENT_HOSTS 時,省略「:observer」修飾符。

設定 Edge

編輯設定檔之後,您必須執行以下所有工作。

在新的節點上安裝 ZooKeeper

  1. 在下列項目上安裝 apigee-setup: 第一個節點,如安裝 Edge apigee-setup 公用程式
  2. 使用下列指令,在第一個節點上安裝 ZooKeeper:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper install
    >/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 restart

    您必須重新啟動所有 ZooKeeper 節點,但重新啟動的順序沒有影響。

重新設定管理伺服器 節點

在 Management Server 節點上:

  1. 執行設定指令:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-management-server setup-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 重新啟動

重新設定所有訊息 處理器

在所有訊息處理器節點上:

  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-service Edge-qpid-server setup -f updatedConfigFile
  2. 重新啟動 Qpid:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-qpid-server restart

重新設定所有 Postgres 節點

在所有 Postgres 節點上:

  1. 執行設定指令:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-postgres-server 設定 -f updatedConfigFile
  2. 重新啟動 Postgres:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-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 指令:
    >echo 統計資料 |nc localhost 2181 年
  3. 在每個 ZooKeeper 節點上重複步驟 1 和 2。
    在節點輸出內容的「Mode」列中,應指派一個節點為 一個節點做為領導者,其餘節點則是追蹤者。