第4章 KRaft モードでの Kafka の実行 (開発プレビュー)
AMQ Streams を KRaft (Kafka Raft メタデータ) モードで実行すると、Kafka クラスターは、ZooKeeper ではなく、コントローラーの内部クォーラムによって管理されます。
Apache Kafka は、ZooKeeper を必要性をなくすため、段階的にこの機能を廃止しています。現在は、KRaft モードを試すことができるようになりました。ZooKeeper を使用せずに KRaft モードで Kafka クラスターをデプロイできます。
KRaft モードは実験的なものであり、開発とテストのみ を目的としているため、運用環境では有効にしないでください。
現在、AMQ Streams の KRaft モードには、次の主要な制限があります。
- ZooKeeper を使用する Kafka クラスターから KRaft クラスターへの移動、またはその逆の移動はサポートされていません。
- Apache Kafka バージョンのアップグレードとダウングレードはサポートされていません。
- SCRAM-SHA-512 認証はサポートされていません。
- 複数のディスクを使用する JBOD ストレージはサポートされていません。
- 多くの設定オプションはまだ開発中です。
4.1. KRaft モードの Kafka で AMQ Streams を使用する リンクのコピーリンクがクリップボードにコピーされました!
Kafka を KRaft モードで使用する場合、クラスターの調整やメタデータの保存に ZooKeeper を使用する必要はありません。Kafka は、コントローラーとして機能するブローカーを使用して、クラスター自体を調整します。Kafka は、ブローカーとパーティションのステータスを追跡するために使用されるメタデータも保存します。
クラスターを識別するには、ID を作成します。ID は、クラスターに追加するブローカーのログを作成するときに使用されます。
各ブローカーノードの設定で、以下を指定します。
- ノード ID
- ブローカーのロール
-
コントローラーとして機能するブローカー (または
voters) のリスト
ブローカーは、ブローカー、コントローラー、またはその両方のロールを実行します。
- ブローカーのロール
- ノードまたはサーバーと呼ばれることもあるブローカーは、メッセージの保存と受け渡しを調整します。
- コントローラーのロール
- コントローラーはクラスターを調整し、追跡メタデータを管理します。
ブローカーノードとコントローラーノードを組み合わせて使用できますが、これらの機能を分離したい場合があります。組み合わせたロールを実行するブローカーは、より単純なデプロイメントでより効率的になります。
各コントローラーのノード ID と接続の詳細 (ホスト名とポート) を使用して、voters として設定されたコントローラーのリストを指定します。