このドキュメントでは、3 つの新しい ZooKeeper ノードを既存の Edge for Private Cloud 環境に追加する方法を説明します。
1 つまたは 2 つの ZooKeeper ノードを既存の Edge インストールに追加できますが、以下で説明するように、常に奇数の ZooKeeper ボーターノードがあることを確認する必要があります。
既存の Edge 構成
本番環境システムでサポートされているすべての Edge トポロジでは、3 つの ZooKeeper ノードを使用するよう定められています。これら 3 つのノードは、次に示すように構成ファイル内の ZK_HOSTS
プロパティと ZK_CLIENT_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" CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com SMTPPASSWORD=smtppwd
ここで
ZK_HOSTS
には、ZooKeeper ノードの IP アドレスまたは DNS 名を指定します。すべての ZooKeeper ノード上で同じ順序で IP アドレスまたは DNS 名を列挙する必要があります。マルチ データセンター環境では、すべてのデータセンターのすべての ZooKeeper ノードを列挙します。ZK_CLIENT_HOSTS
には、このデータセンターのみで使用される ZooKeeper ノードの IP アドレスまたは DNS 名を指定します。すべての ZooKeeper ノード上で同じ順序で IP アドレスまたは DNS 名を列挙する必要があります。単一データセンター環境では、これらは
ZK_HOSTS
で指定したのと同じノードになります。マルチ データセンター環境では、このデータセンター内の ZooKeeper ノードのみ指定します。
構成ファイルを変更して 3 つの新しい ZooKeeper ノードを追加する
この例で追加する 3 つの ZooKeeper ノードの 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 ZK_HOSTS to add each new node after an existing nodes. ZK_HOSTS="$IP1 $IP2 $IP3 $IP14 $IP15 $IP16:observer" # Update ZK_Client_HOSTS to add each new node after an existing nodes. ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3 $IP14 $IP15 $IP16"
ZK_HOSTS
の最後のノードに :observer
修飾子を付けます。:observer
修飾子が付いていないノードのことを「ボーター」と呼びます。構成内の「ボーター」の数は奇数である必要があります。したがって、この構成では 5 つの ZooKeeper ボーターと 1 つのオブザーバを指定します。
必ず ZK_HOSTS
と ZK_CLIENT_HOSTS
の両方に同じ順序でノードを追加します。ただし、ZK_CLIENT_HOSTS
には :observer
修飾子は設定しないでください。
Edge の構成
構成ファイルを編集したら、以下のタスクをすべて実行する必要があります。
新しいノードに ZooKeeper をインストールする
- Edge apigee-setup ユーティリティのインストールの説明に従って、最初のノードに
apigee-setup
をインストールします。 - 次のコマンドを使用して、最初のノードに ZooKeeper をインストールします。
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper install
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile
- 残りの新しい ZooKeeper ノードに対して手順 1 と 2 を繰り返します。
既存の ZooKeeper ノードを再構成する
既存の ZooKeeper ノードの場合:
- 新しい構成ファイルで setup コマンドを再実行します。
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile
すべての ZooKeeper ノードを再起動する
すべての ZooKeeper ノードの場合:
- ノードを再起動します。
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
すべての ZooKeeper ノードを再起動する必要がありますが、再起動の順序に指定はありません。
Management Server ノードを再構成する
Management Server ノードの場合:
- setup コマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service edge-management-server setup -f updatedConfigFile
- Management Server を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
すべての Router を再構成する
すべての Router ノードの場合:
- setup コマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service edge-router setup -f updatedConfigFile
- Router を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
Message Processor を再構成する
すべての Message Processor ノードの場合:
- setup コマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor setup -f updatedConfigFile
- Message Processor を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
すべての Qpid ノードを再構成する
すべての Qpid ノードの場合:
- setup コマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server setup -f updatedConfigFile
- Qpid を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
すべての Postgres ノードを再構成する
すべての Postgres ノードの場合:
- setup コマンドを実行します。
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server setup -f updatedConfigFile
- Postgres を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
インストールの検証
新しい ZooKeeper ノードのインストールを検証するには、netcat(nc)または telnet を使用してポート 2181 にコマンドを送信します。ZooKeeper コマンドの詳細については、http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands をご覧ください。
検証するには:
- nc が ZooKeeper ノードにインストールされていない場合は、次のコマンドを使用してインストールします。
sudo yum install nc
- 次の nc コマンドを実行します。
echo stat | nc localhost 2181
- 各 ZooKeeper ノードで手順 1 と 2 を繰り返します。出力の
Mode
行にそのノードのモードが表示されます。全体でオブザーバが 1 つ、リーダーが 1 つ、残りすべてがフォロワーになっていれば、正しく構成されています。