19.4. Kafka ブローカーおよび ZooKeeper のアップグレード


ホストマシン上の Kafka ブローカーと ZooKeeper をアップグレードして、最新バージョンの AMQ Streams を使用します。インストールファイルを更新し、すべての Kafka ブローカーを設定して再起動し、新しいブローカー間プロトコルバージョンを使用します。これらの手順の実行後に、新しい inter-broker プロトコルバージョンを使用して Kafka ブローカー間でデータが送信されます。

注記

Kafka 3.0.0 以降、メッセージ形式のバージョン値は inter.broker.protocol.version と一致することが想定されており、これを設定する必要はありません。値は、使用される Kafka バージョンを反映します。

前提条件

  • Red Hat Enterprise Linux に kafka ユーザーとしてログインしている。
  • 別のホストで使用している Kafka およびその他の Kafka コンポーネントをインストールしている。

    詳細は、「インストール環境」 を参照してください。

  • インストールファイル をダウンロードしている。

手順

AMQ Streams クラスターの各 Kafka ブローカーに対して、以下を 1 つずつ行います。

  1. AMQStreams ソフトウェアのダウンロードページ から AMQStreams アーカイブをダウンロードします。

    注記

    プロンプトが表示されたら、Red Hat アカウントにログインします。

  2. コマンドラインで一時ディレクトリーを作成し、amq-streams-<version>-bin.zip ファイルの内容を展開します。

    mkdir /tmp/kafka
    unzip amq-streams-<version>-bin.zip -d /tmp/kafka
  3. 実行中の場合は、ホストで実行している ZooKeeper および Kafka ブローカーを停止します。

    /opt/kafka/bin/zookeeper-server-stop.sh
    /opt/kafka/bin/kafka-server-stop.sh
    jcmd | grep zookeeper
    jcmd | grep kafka

    マルチノードクラスターで Kafka を実行している場合は、「Kafka ブローカーの正常なローリング再起動の実行」 を参照してください。

  4. 既存のインストールから libs および bin ディレクトリーを削除します。

    rm -rf /opt/kafka/libs /opt/kafka/bin
  5. 一時ディレクトリーから libs および bin ディレクトリーをコピーします。

    cp -r /tmp/kafka/kafka_<version>/libs /opt/kafka/
    cp -r /tmp/kafka/kafka_<version>/bin /opt/kafka/
  6. 必要に応じて、config ディレクトリー内の設定ファイルを更新して、新しいバージョンの変更を反映します。
  7. 一時ディレクトリーを削除します。

    rm -r /tmp/kafka
  8. /opt/kafka/config/server.properties プロパティーファイルを編集します。

    inter.broker.protocol.version および log.message.format.version プロパティーを 現在の バージョンに設定します。

    たとえば、Kafka バージョン 3.4.0 から 3.5.0 にアップグレードする場合、現在のバージョンは 3.4 です。

    inter.broker.protocol.version=3.4
    log.message.format.version=3.4

    アップグレード元の Kafka バージョンに応じた正しいバージョン (3.33.4 など) を使用してください。inter.broker.protocol.version を現在の設定のままにしておくと、ブローカーはアップグレード中に相互に通信し続けることができます。

    プロパティーが設定されていない場合は、現在のバージョンでプロパティーを追加します。

    Kafka 3.0.0 以降からアップグレードする場合は、inter.broker.protocol.version を設定するだけで済みます。

  9. 更新された ZooKeeper および Kafka ブローカーを再起動します。

    /opt/kafka/bin/zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.properties
    /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties

    Kafka ブローカーと ZooKeeper は、最新の Kafka バージョンのバイナリーの使用を開始します。

    マルチノードクラスターでブローカーを再起動する方法は、「Kafka ブローカーの正常なローリング再起動の実行」 を参照してください。

  10. 再起動した Kafka ブローカーが、フォローしているパーティションレプリカに追いついたことを確認します。

    kafka-topics.sh ツールを使用して、ブローカーに含まれるすべてのレプリカが同期していることを確認します。手順は、トピックの一覧表示および説明 を参照してください。

    次の手順では、新しい inter-broker プロトコルバージョンを使用するように Kafka ブローカーを更新します。

    各ブローカーを一度に 1 つずつ更新します。

    警告

    次の手順を完了した後は、AMQ ストリームをダウングレードすることはできません。

  11. クライアントのアップグレードに選択したストラテジー に応じて、新バージョンのクライアントバイナリーを使用するようにすべてのクライアントアプリケーションをアップグレードします。
  12. /opt/kafka/config/server.properties ファイルで inter.broker.protocol.version プロパティーを 3.5 に設定します。

    inter.broker.protocol.version=3.5
  13. コマンドラインで、変更した Kafka ブローカーを停止します。

    /opt/kafka/bin/kafka-server-stop.sh
  14. Kafka が実行されていないことを確認します。

    jcmd | grep kafka
  15. 変更した Kafka ブローカーを再起動します。

    /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
  16. Kafka が稼働していることを確認します。

    jcmd | grep kafka
  17. Kafka 3.0.0 より前のバージョンからアップグレードする場合は、/opt/kafka/config/server.properties ファイルで log.message.format.version プロパティーを 3.5 に設定します。

    log.message.format.version=3.5
  18. コマンドラインで、変更した Kafka ブローカーを停止します。

    /opt/kafka/bin/kafka-server-stop.sh
  19. Kafka が実行されていないことを確認します。

    jcmd | grep kafka
  20. 変更した Kafka ブローカーを再起動します。

    /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
  21. Kafka が稼働していることを確認します。

    jcmd | grep kafka
  22. 再起動した Kafka ブローカーが、フォローしているパーティションレプリカに追いついたことを確認します。

    kafka-topics.sh ツールを使用して、ブローカーに含まれるすべてのレプリカが同期していることを確認します。手順は、トピックの一覧表示および説明 を参照してください。

  23. アップグレードで使用された場合は、従来の log.message.format.version 設定を server.properties ファイルから削除します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る