新增 Cassandra 節點

私有雲的邊緣 4.17.01 版

本文說明如何在現有 Edge 中新增三個新的 Cassandra 節點,以便安裝私人雲端。

雖然您可以為現有的 Edge 安裝新增一或兩個 Cassandra 節點,但 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 
BIND_ON_ALL_INTERFACES=y
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" 

重要事項:請在現有節點之後,將每個新的 Cassandra 節點新增至 CASS_HOSTS

這樣可確保現有節點保留初始權杖設定,且每個新節點的初始權杖位於現有節點的權杖值之間。

設定 Edge

編輯設定檔之後,您必須:

  • 重新設定現有的 Cassandra 節點
  • 在新節點上安裝 Cassandra
  • 重新設定管理伺服器

重新設定現有的 Cassandra 節點

在現有的 Cassandra 節點上:

  1. 使用「-p c」設定檔和新的設定檔重新執行 setup.sh:
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile

在新節點上安裝 Cassandra

在每個新的 Cassandra 節點上:

  1. 在三個節點上安裝 Cassandra:
    1. 按照安裝 Edge apigee-setup 公用程式的說明,在第一個節點上安裝 apigee-setup
    2. 使用更新後的設定檔,在第一個節點安裝 Cassandra:
      > /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. 針對其餘的新 Cassandra 節點重複執行以下兩個步驟。
  2. 重新建立三個新的 Cassandra 節點,透過 REGION 屬性指定設定檔中設定的區域名稱。在這個範例中為「dc-1」:
    1. 在第一個節點上執行:
      > /opt/apigee/apigee-cassandra/bin/nodetool -h nodeIP 重新建立 dc-1
      ,其中 nodeIP 是 Cassandra 節點的 IP 位址。
    2. 針對其餘的新 Cassandra 節點重複這個步驟。

重新設定管理伺服器

在管理伺服器節點上

  1. 重新執行 setup.sh 以更新管理伺服器,以便更新新增的 Cassandra 節點:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile

重新啟動所有路由器和訊息處理器

  1. 在所有路由器上:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router restart
  2. 針對所有訊息處理器:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-message-processor 重新啟動

現有 Cassandra 節點的記憶體

在現有的 Cassandra 節點上,執行 nodetool cleanup 指令來釋出記憶體:

> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP 清除