Cassandra ノードの追加

Edge for Private Cloud v4.19.01

このドキュメントでは、既存の Edge for Private Cloud インストールに 3 つの新しい Cassandra ノードを追加する方法について説明します。

既存の Edge インストールに 1 つまたは 2 つの Cassandra ノードを追加することもできますが、Apigee では一度に 3 つのノードを追加することをおすすめします。

Cassandra ノードのシステム要件の一覧については、インストール要件をご覧ください。

既存の Edge 構成

本番環境システムでサポートされているすべての Edge トポロジでは、3 つの Cassandra ノードを使用するように指定されています。以下に示すように、3 つのノードが構成ファイルの 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 ノードを追加するときに必要になります。

構成ファイルを変更して 3 つの新しい Cassandra ノードを追加する

この例では、3 つの新しい 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 をインストールする
  • Management Server を再構成する

既存の Cassandra ノードを再構成する

既存の Cassandra ノードで次の操作を行います。

  1. 「-p c」プロファイルと新しい構成ファイルを使用して setup.sh を再実行します。
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile

新しいノードに Cassandra をインストールする

新しい各 Cassandra ノードで、次の操作を行います。

  1. 3 つのノードに Cassandra をインストールします。
    1. Edge apigee-setup ユーティリティのインストールの説明に従って、最初のノードに apigee-setup をインストールします。
    2. 更新した構成ファイルを使用して、最初のノードに Cassandra をインストールします。
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. 残りの新しい Cassandra ノードに対して、この 2 つの手順を繰り返します。
  2. 3 つの新しい Cassandra ノードを再構築し、REGION プロパティで構成ファイルに設定されたリージョン名を指定します。この例では「dc-1」です。
    1. 1 つ目のノードで、次のコマンドを実行します。
      /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1

      ここで、nodeIP は Cassandra ノードの IP アドレスです。

      Cassandra の JMX 認証を有効にしている場合にのみ、ユーザー名とパスワードを渡す必要があります。

    2. 残りの新しい Cassandra ノードでこの手順を繰り返します。

Management Server を再構成する

Management-Server ノード

  1. setup.sh を再実行して、新しく追加された Cassandra ノードの Management Server を更新します。
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile

すべての Router と Message Processor を再起動する

  1. すべてのルーターで、次の操作を行います。
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  2. すべての Message Processor で次の操作を行います。
    /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 の使用に関するドキュメントをご覧ください。