Cassandra ノードの追加

Cassandra ノードをクラスタに追加する場合は、次の 2 つの重要なポイントを考慮することが重要です。

  • ストリーミングを最小限に抑え、リングのバランスを維持するため、Cassandra リング内のノードの位置は変更しないでください。
  • すべてのデータセンターでノード数は一定である必要があります。

最初の目標を確実に達成するには、新しいノードを追加するたびに Cassandra クラスタ内のノード数を 2 倍にすることが重要です。

たとえば、2 つのデータセンターに分散された標準の 12 ノードクラスタ インストール トポロジから開始した場合、合計 6 つの Cassandra ノード(各データセンターに 3 つ)が存在することになります。このクラスタを拡張するには、各データセンターに 3 つのノードを追加し、合計ノード数を 12(各データセンターに 6 つのノード)に増やします。さらに拡張が必要な場合は、各データセンターに 6 つのノードを追加して、合計ノード数は 24 になります(各データセンターに 12 ノード)。

このドキュメントでは、既存の Edge for Private Cloud インストールに 3 つの新しい Cassandra ノードを追加する手順について説明します。同じ手順でノードを追加できます。クラスタを拡張するときは、必ずノード数を 2 倍にしてください。

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」が指定されています。必要なのは 情報を追加してください。

構成ファイルを変更して 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 をインストールします。

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

  1. 3 つのノードに Cassandra をインストールします。 <ph type="x-smartling-placeholder">
      </ph>
    1. apigee-setup のインストール先: (インストールする手順で説明されているように、最初のノードに Edge apigee-setup ユーティリティ
    2. 更新された構成ファイルを使用して、最初のノードに Cassandra をインストールします。
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. 残りの新しい Cassandra ノードに、これらの 2 つのステップを繰り返します。
  2. データセンターにするリージョン名を指定して、3 つの新しい Cassandra ノードを再構築します。 (dc-1dc-2 など)。 この例では dc-1 です。 <ph type="x-smartling-placeholder">
      </ph>
    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 を再起動する 決済代行業者

  1. すべての Router で次のようにします。
    /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 [-u username -pw password] -h nodeIP describecluster

新しいノードが古いノードと同じスキーマ バージョンを使用していることを示しています。

nodetool の使用の詳細については、以下をご覧ください。 nodetool の使用に関するドキュメント