4.2. マルチノードの 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 listener.security.protocol.map=PLAINTEXT:PLAINTEXT,REPLICATION:PLAINTEXT 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.propertiesKafka ブローカーが稼働していることを確認します。
jcmd | grep Kafka戻り値:
number kafka.Kafka /opt/kafka/config/server.propertiesncatユーティリティーを使用してdumpコマンドを ZooKeeper ノードのいずれかに送信し、すべてのノードが Kafka クラスターのメンバーであることを確認します。ncat dump を使用して、ZooKeeper に登録されているすべての Kafka ブローカーを確認します。
echo dump | ncat zoo1.my-domain.com 2181dumpのような 4 文字のコマンドを使用するには、zookeeper.propertiesで4lw.commands.whitelist=*を指定する必要があります。出力には、設定および起動したすべての 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