5.2. KRaft モードでの Kafka クラスターの実行
KRaft モードで Kafka を設定し、実行します。単一ノードまたは複数ノードの Kafka クラスターを使用している場合は、Kraft モードで Kafka を実行できます。安定性と可用性のために、最低 3 つのブローカーノードとコントローラーノードを実行します。
ブローカーがコントローラーにもなれるように、ブローカーのロールを設定します。設定プロパティーファイルを使用して、ロールの設定を含むブローカー設定を適用します。ブローカーの設定は、ロールによって異なります。KRaft は、3 つのブローカー設定プロパティーファイルの例を提供します。
-
/opt/kafka/config/kraft/broker.properties
には、ブローカーロールの設定例があります。 -
/opt/kafka/config/kraft/controller.properties
には、コントローラーロールの設定例があります。 -
/opt/kafka/config/kraft/server.properties
には、デュアルロールの設定例があります。
ブローカー設定は、これらのプロパティーファイルの例に基づくことができます。この手順では、server.properties
の設定例を使用します。
前提条件
- Kafka ブローカーとして使用されるすべてのホストに AMQ Streams がインストールされている。
手順
kafka-storage
ツールを使用して Kafka クラスターの ID を生成します。/opt/kafka/bin/kafka-storage.sh random-uuid
/opt/kafka/bin/kafka-storage.sh random-uuid
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは ID を返します。KRaft モードでクラスター ID が必要です。
クラスターの各ブローカーに設定プロパティーファイルを作成します。
ファイルは、Kafka で提供される例に基づくことができます。
デュアルロールを
broker, `controller
またはbroker, controller
として指定します。たとえば、デュアルロールに、
process.roles=broker, controller
を指定します。クラスター内の各ノードに
0
から始まる一意のnode.id
を指定します。たとえば、
node.id=1
です。<node_id>@<hostname:port>
の形式でcontroller.quorum.voters
のリストを指定します。たとえば、
controller.quorum.voters=1@localhost:9093
です。
Kafka クラスターの各ノードにログディレクトリーを設定します。
/opt/kafka/bin/kafka-storage.sh format -t <uuid> -c /opt/kafka/config/kraft/server.properties
/opt/kafka/bin/kafka-storage.sh format -t <uuid> -c /opt/kafka/config/kraft/server.properties
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 戻り値:
Formatting /tmp/kraft-combined-logs
Formatting /tmp/kraft-combined-logs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <uuid> を生成したクラスター ID に置き換えます。クラスター内の各ノードで、同じ ID を使用します。
ブローカー用に作成したプロパティーファイルを使用してブローカー設定を適用します。
server.properties
設定ファイルに指定されたデフォルトのログディレクトリーの場所は/tmp/kraft-combined-logs
です。複数のログディレクトリーを設定するには、コンマ区切りリストを追加できます。各 Kafka ブローカーを起動します。
/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/kraft/server.properties
/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/kraft/server.properties
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka が稼働していることを確認します。
jcmd | grep kafka
jcmd | grep kafka
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 戻り値:
number kafka.Kafka /opt/kafka/config/kraft/server.properties
number kafka.Kafka /opt/kafka/config/kraft/server.properties
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
トピックを作成し、ブローカーからメッセージを送受信できるようになりました。
メッセージを渡すブローカーの場合、クラスター内のブローカー全体でトピックのレプリケーションを使用して、データの耐久性を確保できます。少なくとも 3 のレプリケーション係数と、In-Sync レプリカの最小数がレプリケーション係数より 1 少ない数に設定されるようにトピックを設定します。詳細は、「トピックの作成」 を参照してください。