Edge for Private Cloud 4.19.01 版
本文說明如何將三個新的 Cassandra 節點新增至現有的 Edge for Private Cloud 安裝。
雖然您可以將一或兩個 Cassandra 節點新增至現有的 Edge 安裝,但 Apigee 建議您一次新增三個節點。
如需 Cassandra 節點的系統需求清單,請參閱「安裝需求」。
現有 Edge 設定
正式環境系統支援的所有 Edge 拓撲都指定使用三個 Cassandra 節點。這三個節點會指定給設定檔中的 CASS_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" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com SMTPPASSWORD=smtppwd
請注意,REGION 屬性會將區域名稱指定為「dc-1」。新增 Cassandra 節點時,您需要這項資訊。
修改設定檔,新增三個 Cassandra 節點
在本例中,三個新 Cassandra 節點的 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 CASS_HOSTS to add each new node after an existing nodes. # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP14:1,1 $IP2:1,1 $IP15:1,1 $IP3:1,1 $IP16:1,1"
這樣一來,現有節點就能保留初始權杖設定,且每個新節點的初始權杖會介於現有節點的權杖值之間。
設定 Edge
編輯設定檔後,請務必:
- 重新設定現有的 Cassandra 節點
- 在新節點上安裝 Cassandra
- 重新設定管理伺服器
重新設定現有的 Cassandra 節點
在現有的 Cassandra 節點上:
- 使用「-p c」設定檔和新的設定檔,重新執行 setup.sh:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
在新節點上安裝 Cassandra
在每個新的 Cassandra 節點上:
- 在三個節點上安裝 Cassandra:
- 按照「安裝 Edge apigee-setup 公用程式」一文所述,在第一個節點上安裝
apigee-setup。 - 使用更新後的設定檔,在第一個節點上安裝 Cassandra:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
- 針對其餘的新 Cassandra 節點,重複執行這兩個步驟。
- 按照「安裝 Edge apigee-setup 公用程式」一文所述,在第一個節點上安裝
- 重建三個新的 Cassandra 節點,並指定設定檔中由
REGION屬性設定的區域名稱。在本範例中,這個值是「dc-1」:- 在第一個節點上執行:
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1
其中 nodeIP 是 Cassandra 節點的 IP 位址。
只有在為 Cassandra 啟用 JMX 驗證時,才需要傳遞使用者名稱和密碼。
- 在其他新的 Cassandra 節點上重複這個步驟。
- 在第一個節點上執行:
重新設定管理伺服器
在 Management-Server 節點上
- 重新執行 setup.sh,為新加入的 Cassandra 節點更新管理伺服器:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile
重新啟動所有路由器和訊息處理器
- 在所有路由器上:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- 在所有訊息處理器上:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
釋出現有 Cassandra 節點的磁碟空間
新增節點後,您可以在現有節點上使用 nodetool cleanup 指令,釋出磁碟空間。這個指令會清除不再屬於現有 Cassandra 節點的設定權杖。
如要在新增節點後,釋出 Cassandra 現有節點的磁碟空間,請執行下列指令:
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup
只有在為 Cassandra 啟用 JMX 驗證時,才需要傳遞使用者名稱和密碼。
驗證重建作業
使用下列指令,確認重建作業是否成功:
nodetool [-u username -pw password] -h nodeIP netstats
當節點啟動且索引建立完成時,這個指令應會顯示 MODE: Normal。
nodetool [-u username -pw password] -h nodeIP statusthrift
應指出 Thrift 伺服器正在執行,讓 Cassandra 接受新的用戶端要求。
nodetool [-u username -pw password] -h nodeIP statusbinary
應指出原生傳輸 (或二進位通訊協定) 正在執行。
nodetool describecluster
應顯示新節點使用的結構定義版本與舊節點相同。
如要進一步瞭解如何使用 nodetool,請參閱 nodetool 使用說明文件。