ZooKeeper ノードの追加

Edge for Private Cloud v. 4.17.05

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

既存の Edge インストールに 1 つまたは 2 つの ZooKeeper ノードを追加できます。ただし、以下で説明するように、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 
BIND_ON_ALL_INTERFACES=y
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 名を指定します。IP アドレスまたは DNS 名は、すべての ZooKeeper ノードで同じ順序でリストする必要があります。マルチデータセンター環境では、両方のデータセンターのすべての ZooKeeper ノードをリストします。
  • ZK_CLIENT_HOSTS には、このデータセンターで使用される ZooKeeper ノードの IP アドレスまたは DNS 名を指定します。IP アドレスまたは DNS 名は、すべての ZooKeeper ノードで同じ順序でリストする必要があります。

    単一のデータセンターのインストールでは、これらは 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 をインストールする

  1. Edge apigee-setup ユーティリティのインストールの説明に沿って、最初のノードに apigee-setup をインストールします。
  2. 次のコマンドを使用して、最初のノードに ZooKeeper をインストールします。
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper install
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile
  3. 残りの新しい ZooKeeper ノードに対して手順 1 と 2 を繰り返します。

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

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

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

すべての ZooKeeper ノードを再起動する

すべての ZooKeeper ノードで、次の操作を行います。

  1. ノードを再起動します。
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart

    すべての ZooKeeper ノードを再起動する必要がありますが、再起動の順序は重要ではありません。

Management Server ノードを再構成する

Management Server ノードで、次の操作を行います。

  1. setup コマンドを実行します。
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server setup -f updatedConfigFile
  2. Management Server を再起動します。
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

すべての Router を再構成する

すべての Router ノードで、次の操作を行います。

  1. 設定コマンドを実行します。
    > /opt/apigee/apigee-service/bin/apigee-service edge-router setup -f updatedConfigFile
  2. Router を再起動します。
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart

すべての Message Processor を再構成する

すべての Message Processor ノードで、次の操作を行います。

  1. 設定コマンドを実行します。
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor setup -f updatedConfigFile
  2. Message Processor を再起動します。
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

すべての Qpid ノードを再構成します。

すべての Qpid ノード:

  1. セットアップ コマンドを実行します。
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server setup -f updatedConfigFile
  2. Qpid を再起動します。
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart

すべての Postgres ノードを再構成する

すべての Postgres ノードで、次の操作を行います。

  1. 設定コマンドを実行します。
    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server setup -f updatedConfigFile
  2. 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 をご覧ください。

検証するには:

  1. ZooKeeper ノードにインストールされていない場合は、nc をインストールします。
    > sudo yum install nc
  2. 次の nc コマンドを実行します。
    > echo stat | nc localhost 2181
  3. 各 ZooKeeper ノードで手順 1 と 2 を繰り返します。
    ノードの出力の Mode 行で、1 つのノードがオブザーバー、1 つのノードがリーダー、残りのノードがフォロワーとして指定されている必要があります。