18.3. Kafka クラスターのアップグレード


KRaft ベースの Kafka クラスターを、サポートされている新しい Kafka バージョンおよび KRaft メタデータバージョンにアップグレードします。インストールファイルを更新し、すべての Kafka ノードを設定して再起動します。これらの手順の実行後に、新しいメタデータバージョンに従って Kafka ブローカー間でデータが送信されます。

警告

KRaft ベースの Strimzi Kafka クラスターを下位バージョンにダウングレードする場合 (3.7.0 から 3.6.0 への移行など)、Kafka クラスターで使用されるメタデータバージョンが、ダウングレードする Kafka バージョンでサポートされているバージョンであることを確認してください。ダウングレード元の Kafka バージョンのメタデータバージョンは、ダウングレード先のバージョンより高くすることはできません。

前提条件

手順

Streams for Apache Kafka クラスター内の各 Kafka ノードについて、一度に 1 つずつ、コントローラーノードの後にブローカーという順で、以下の手順を実行します。

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

    注記

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

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

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

    /opt/kafka/bin/kafka-server-stop.sh
    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 ディレクトリー内の設定ファイルを更新して、新しい Kafka バージョンの変更を反映します。
  7. 一時ディレクトリーを削除します。

    rm -r /tmp/kafka
  8. 更新した Kafka ノードを再起動します。

    ロールを組み合わせたノードの再起動

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

    コントローラーノードの再起動

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

    broker ロールを持つノードの再起動

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

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

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

  9. Kafka が稼働していることを確認します。

    jcmd | grep kafka
  10. Kafka メタデータのバージョンを更新します。

    ./bin/kafka-features.sh --bootstrap-server <broker_host>:<port> upgrade --metadata 3.7

    アップグレード先の Kafka バージョンに応じた正しいバージョンを使用してください。

注記

kafka-topics.sh ツールを使用して、ブローカーに含まれるすべてのレプリカが同期していることを確認し、再起動した Kafka ブローカーが、フォローしているパーティションレプリカに追いついたことを確認してください。手順は、トピックの一覧表示および説明 を参照してください。

クライアントアプリケーションのアップグレード

アップグレードプロセスの一環として、すべての Kafka クライアントアプリケーションが新しいバージョンのクライアントバイナリーを使用するように更新されていることを確認し、Kafka アップグレードとの互換性を確認します。必要に応じて、クライアントアプリケーションの管理を担当するチームと連携してください。

ヒント

クライアントが最新のメッセージ形式を使用していることを確認するには、kafka.server:type=BrokerTopicMetrics,name={Produce|Fetch}MessageConversionsPerSec メトリクスを使用します。最新のメッセージ形式が使用されている場合、このメトリクスに 0 が表示されます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.