3.3. マルチノードの ZooKeeper クラスターの実行
この手順では、ZooKeeper をマルチノードクラスターとして設定、実行する方法を説明します。
ZooKeeper 3.5.7 では、使用する前に、許可リストに 4 文字の コマンドを追加する必要があります。詳細は、ZooKeeper のドキュメント を参照してください。
前提条件
- AMQ Streams が、ZooKeeper クラスターノードとして使用されるすべてのホストにインストールされている。
クラスターの実行
/var/lib/zookeeper/
にmyid
ファイルを作成します。最初の ZooKeeper ノードに ID1
を、2 番目の ZooKeeper ノードに2
を、それぞれ入力します。su - kafka echo "<NodeID>" > /var/lib/zookeeper/myid
以下に例を示します。
su - kafka echo "1" > /var/lib/zookeeper/myid
以下のように ZooKeeper の
/opt/kafka/config/zookeeper.properties
設定ファイルを編集します。-
dataDir
オプションを/var/lib/zookeeper/
に設定します。 -
initLimit
およびsyncLimit
オプションを設定します。 -
reconfigEnabled
およびstandaloneEnabled
オプションを設定します。 すべての ZooKeeper ノードの一覧を追加します。この一覧には、現在のノードも含まれている必要があります。
5 つのメンバーを持つ ZooKeeper クラスターのノードの設定例
timeTick=2000 dataDir=/var/lib/zookeeper/ initLimit=5 syncLimit=2 reconfigEnabled=true standaloneEnabled=false server.1=172.17.0.1:2888:3888:participant;172.17.0.1:2181 server.2=172.17.0.2:2888:3888:participant;172.17.0.2:2181 server.3=172.17.0.3:2888:3888:participant;172.17.0.3:2181 server.4=172.17.0.4:2888:3888:participant;172.17.0.4:2181 server.5=172.17.0.5:2888:3888:participant;172.17.0.5:2181
-
デフォルトの設定ファイルで ZooKeeper を起動します。
su - kafka /opt/kafka/bin/zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.properties
ZooKeeper が稼働していることを確認します。
jcmd | grep zookeeper
- クラスターのすべてのノードでこの手順を繰り返します。
クラスターのすべてのノードが稼働したら、
ncat
ユーティリティーを使用してstat
コマンドを各ノードに送信して、すべてのノードがクラスターのメンバーであることを確認します。ncat stat を使用してノードのステータスを確認します。
echo stat | ncat localhost 2181
この出力に、ノードが
leader
またはfollower
のいずれかである情報が表示されるはずです。ncat
コマンドの出力例ZooKeeper version: 3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 00:39 GMT Clients: /0:0:0:0:0:0:0:1:59726[0](queued=0,recved=1,sent=0) Latency min/avg/max: 0/0/0 Received: 2 Sent: 1 Connections: 1 Outstanding: 0 Zxid: 0x200000000 Mode: follower Node count: 4
その他のリソース
- AMQ Streams のインストールに関する詳細は、「AMQ Streams のインストール」を参照してください。
- AMQ Streams の設定に関する詳細は、「AMQ Streams の設定」を参照してください。