4.5. マルチノードの Kafka クラスターの実行
この手順では、Kafka をマルチノードクラスターとして設定および実行する方法を説明します。
前提条件
- AMQ Streams は、Kafka ブローカーとして使用されるすべてのホストに インストール されます。
- ZooKeeper クラスターが 設定され、実行されている。
クラスターの実行
AMQ Streams クラスターの Kafka ブローカーごとに以下を行います。
以下のように
/opt/kafka/config/server.properties
Kafka 設定ファイルを編集します。-
最初のブローカーの
broker.id
フィールドを0
、第 2 ブローカーの1
などに設定します。 -
zookeeper.connect
オプションで ZooKeeper に接続する詳細を設定します。 - Kafka リスナーを設定します。
コミットログが
logs.dir
ディレクトリーに格納されるディレクトリーを設定します。Kafka ブローカーの設定例は次のとおりです。
broker.id=0 zookeeper.connect=zoo1.my-domain.com:2181,zoo2.my-domain.com:2181,zoo3.my-domain.com:2181 listeners=REPLICATION://:9091,PLAINTEXT://:9092 inter.broker.listener.name=REPLICATION log.dirs=/var/lib/kafka
各 Kafka ブローカーが同じハードウェアで実行されている一般的なインストールでは、
broker.id
設定プロパティーのみがブローカー設定によって異なります。
-
最初のブローカーの
デフォルトの設定ファイルを使用して Kafka ブローカーを起動します。
su - kafka /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
Kafka ブローカーが稼働していることを確認します。
jcmd | grep Kafka
ブローカーの検証
クラスターのすべてのノードが稼働したら、ncat
ユーティリティーを使用して dump
コマンドを ZooKeeper ノードの 1 つに送信し、すべてのノードが Kafka クラスターのメンバーであることを確認します。このコマンドは、ZooKeeper に登録されているすべての Kafka ブローカーを出力します。
ncat stat を使用してノードのステータスを確認します。
echo dump | ncat zoo1.my-domain.com 2181
出力には、先ほど設定および起動したすべての Kafka ブローカーが含まれている必要があります。
3 つのノードで構成される Kafka クラスターの
ncat
コマンドからの出力例:SessionTracker dump: org.apache.zookeeper.server.quorum.LearnerSessionTracker@28848ab9 ephemeral nodes dump: Sessions with Ephemerals (3): 0x20000015dd00000: /brokers/ids/1 0x10000015dc70000: /controller /brokers/ids/0 0x10000015dc70001: /brokers/ids/2
関連情報
- AMQ Streams のインストールに関する詳細は、「AMQ Streams のインストール」 を参照してください。
- AMQ Streams の設定に関する詳細は、「AMQ Streams の設定」 を参照してください。
- ZooKeeper クラスターの実行に関する詳細は、「マルチノードの ZooKeeper クラスターの実行」 を参照してください。
- サポートされる Kafka ブローカー設定オプションの完全リストは、付録A ブローカー設定パラメーター を参照してください。