新增 ZooKeeper 節點

Private Cloud v. 4.17.05 專用 Edge

本文件說明如何將三個新的 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 
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 選民和一位觀察者。

請務必在同一個 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」重新執行 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 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」列中,應指派一個節點為 一個節點做為領導者,其餘節點則是追蹤者。