14.2. 新しいコントローラーの追加
Kafka の既存の動的コントローラークォーラムに新しいコントローラーを追加するには、新しいコントローラーを作成し、そのレプリケーションステータスを監視して、それをクラスターに統合します。
前提条件
-
Streams for Apache Kafka が ホストにインストールされ、設定ファイルとツールが利用可能である。
この手順では、kafka-storage.sh、kafka-server-start.sh、およびkafka-metadata-quorum.shツールを使用します。 - コントローラーノードへの管理アクセス権がある。
手順
controller.propertiesファイルを使用して新しいコントローラーノードを設定します。新しいコントローラーには、少なくとも次の設定が必要です。
- 一意のノード ID
- コントローラークォーラムが使用するリスナー名
コントローラーのクォーラム
コントローラー設定の例
process.roles=controller node.id=1 listeners=CONTROLLER://0.0.0.0:9092 controller.listener.names=CONTROLLER listener.security.protocol.map=CONTROLLER:PLAINTEXT controller.quorum.bootstrap.servers=localhost:9090, localhost:9091, localhost:9092controller.quorum.bootstrap.servers設定には、新しいコントローラーおよびクラスター内にすでに存在する他の各コントローラーのホストとポートが含まれます。
-
クラスター内の各ノードの設定で、
controller.quorum.bootstrap.serversを新しいコントローラーのホストとポートで更新します。 新しいコントローラーのログディレクトリー ID を設定します。
./bin/kafka-storage.sh format --cluster-id <cluster_id> --config controller.properties --no-initial-controllersno-initial-controllersオプションを使用すると、コントローラーはコントローラークォーラムに参加せずに初期化されます。コントローラーノードを起動します。
./bin/kafka-server-start.sh ./config/kraft/controller.properties新しいコントローラーのレプリケーションの進行状況を監視します。
./bin/kafka-metadata-quorum.sh --bootstrap-server localhost:9092 --replication続行する前に、新しいコントローラーがアクティブコントローラーに追いつくまで待機します。
新しいコントローラーをコントローラークォーラムに追加します。
./bin/kafka-metadata-quorum.sh --command-config controller.properties --bootstrap-controller localhost:9092 add-controller