新增 Cassandra 節點

Edge for Private Cloud 4.18.05

本文說明如何在現有的 Edge for Private Cloud 安裝中新增三個 Cassandra 節點。

雖然您可以將一或兩個 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 節點上:

  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 rebuild 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 restart

釋出現有 Cassandra 節點的記憶體

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

/opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP cleanup