4.5. マルチノードの Kafka クラスターの実行
この手順では、Kafka をマルチノードクラスターとして設定および実行する方法を説明します。
前提条件
- Kafka ブローカーとして使用されるすべてのホストに AMQ Streams がインストールされている。
- ZooKeeper クラスターが 設定され、稼働している。
クラスターの実行
AMQ Streams クラスターの各 Kafka ブローカーに対して以下を行います。
以下のように、Kafka 設定ファイル
/opt/kafka/config/server.properties
を編集します。-
最初のブローカーの
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 ノードのいずれかに送信して、すべてのノードが 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 ブローカー設定パラメーター」を参照してください。