5.5. デュアルロールノードへの移行


この手順では、ブローカーロールだけを持つノードとコントローラーロールだけを持つノードの使用から、デュアルロールノードの使用に移行する方法を説明します。Kafka クラスターで、コントローラー専用ノードとブローカー専用ノードを使用している場合は、両方のロールを持つ 1 つのノードを使用するように移行できます。

これを行うには、ノードにデュアルロール設定を追加し、クラスターをリバランスして、コントローラーノードとしてのみ機能していたノードにパーティションレプリカを移動します。

注記

デュアルロール設定は、開発やテストに適しています。通常の実稼働環境では、ブローカー専用ノードとコントローラー専用ノードを使用してください。

前提条件

  • Streams for Apache Kafka (2.9 以上) が 各ホストにインストールされており、設定ファイルが使用可能である。
  • controller.quorum.bootstrap.servers プロパティーを使用して、コントローラークォーラムが動的スケーリング用に設定されている。
  • Cruise Control がインストールされている。
  • クラスターのバックアップが推奨されます。

手順

  1. 各コントローラーノードについて、1 つずつ次の手順を実行します。

    1. コントローラーノードを停止します。

      ./bin/kafka-server-stop.sh
    2. ブローカー固有の設定を追加して、コントローラー専用ノードをデュアルロールノードとして機能するように設定します。

      少なくとも次の操作を実行します。

      • process.roles=controllerprocess.roles=broker, controller に切り替えます。
      • log.dirs を使用してブローカーのログディレクトリーを追加または更新します。
      • ブローカーがクライアントリクエストを処理するためのリスナーを追加します。この例では、PLAINTEXT://:9092 を追加します。
      • listener.security.protocol.map を使用して、リスナー名とセキュリティープロトコル間のマッピングを更新します。
      • inter.broker.listener.name を使用してブローカー間通信用のリスナーを設定します。

      デュアルロール設定の例

      process.roles=broker, controller
      node.id=1
      
      log.dirs=/var/lib/kafka
      metadata.log.dir=/var/lib/kafka-metadata
      
      listeners=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9090
      controller.listener.names=CONTROLLER
      listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
      controller.quorum.bootstrap.servers=localhost:9090
      inter.broker.listener.name=PLAINTEXT
      
      num.partitions=1
      auto.create.topics.enable=false
      default.replication.factor=3
      min.insync.replicas=2
      # ...

    3. デュアルロールで動作するようになったノードを再起動します。

      ./bin/kafka-server-start.sh -daemon ./config/kraft/dual-role.properties
  2. Cruise Control の remove_broker エンドポイントを使用して、現在デュアルロールノードとして機能するようになったノードに、ブローカー専用ノードからパーティションレプリカを再割り当てします。

    クラスター内のトピックとパーティションの数によっては、再割り当てに時間がかかる場合があります。

    詳細は、「最適化プロポーザルの生成」 を参照してください。

  3. ブローカーノードを登録解除します。

    ./bin/kafka-cluster.sh unregister \
      --bootstrap-server <broker_host>:<port> \
      --id <node_id_number>

    詳細は、「スケールダウン操作後のノードの登録解除」 を参照してください。

  4. ブローカーノードを停止します。

    ./bin/kafka-server-stop.sh
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る