15.3. Kafka ブローカーおよび ZooKeeper のアップグレード
この手順では、最新バージョンの AMQ Streams を使用するように、ホストマシンで Kafka ブローカーおよび ZooKeeper をアップグレードする方法を説明します。
ファイルを更新してから、すべての Kafka ブローカーを設定して再起動し、新しい inter-broker プロトコルバージョンを使用します。これらの手順の実行後に、新しい inter-broker プロトコルバージョンを使用して Kafka ブローカー間でデータが送信されます。
Kafka 3.0.0 以降、メッセージ形式のバージョン値は inter.broker.protocol.version
と一致することが想定されており、これを設定する必要はありません。値は、使用される Kafka バージョンを反映します。
受信したメッセージは、以前のメッセージ形式のバージョンでメッセージログに追加されます。
前提条件
-
Red Hat Enterprise Linux に
kafka
ユーザーとしてログインしている。
手順
AMQ Streams クラスターの各 Kafka ブローカーに対して、以下を 1 つずつ行います。
AMQStreams ソフトウェアのダウンロードページ から AMQStreams アーカイブをダウンロードします。
注記プロンプトが表示されたら、Red Hat アカウントにログインします。
コマンドラインで一時ディレクトリーを作成し、
amq-streams-x.y.z-bin.zip
ファイルの内容をデプロイメントします。mkdir /tmp/kafka unzip amq-streams-x.y.z-bin.zip -d /tmp/kafka
mkdir /tmp/kafka unzip amq-streams-x.y.z-bin.zip -d /tmp/kafka
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 実行中の場合は、ホストで実行している ZooKeeper および Kafka ブローカーを停止します。
/opt/kafka/bin/zookeeper-server-stop.sh /opt/kafka/bin/kafka-server-stop.sh jcmd | grep zookeeper jcmd | grep kafka
/opt/kafka/bin/zookeeper-server-stop.sh /opt/kafka/bin/kafka-server-stop.sh jcmd | grep zookeeper jcmd | grep kafka
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 既存のインストールから
libs
およびbin
ディレクトリーを削除します。rm -rf /opt/kafka/libs /opt/kafka/bin
rm -rf /opt/kafka/libs /opt/kafka/bin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一時ディレクトリーから
libs
およびbin
ディレクトリーをコピーします。cp -r /tmp/kafka/kafka_y.y-x.x.x/libs /opt/kafka/ cp -r /tmp/kafka/kafka_y.y-x.x.x/bin /opt/kafka/ cp -r /tmp/kafka/kafka_y.y-x.x.x/docs /opt/kafka/
cp -r /tmp/kafka/kafka_y.y-x.x.x/libs /opt/kafka/ cp -r /tmp/kafka/kafka_y.y-x.x.x/bin /opt/kafka/ cp -r /tmp/kafka/kafka_y.y-x.x.x/docs /opt/kafka/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一時ディレクトリーを削除します。
rm -r /tmp/kafka
rm -r /tmp/kafka
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
テキストエディターで、一般的に
/opt/kafka/config/
ディレクトリーに保存されているブローカープロパティーファイルを開きます。 inter.broker.protocol.version
およびlog.message.format.version
プロパティーが 現行 バージョンに設定されていることを確認します。inter.broker.protocol.version=3.0 log.message.format.version=3.0
inter.broker.protocol.version=3.0 log.message.format.version=3.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Inter.broker.protocol.version
を変更しないと、ブローカーはアップグレード中も相互に通信を継続できます。プロパティーが設定されていない場合は、現在のバージョンでプロパティーを追加します。
更新された 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
/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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka ブローカーおよび Zookeeper は、最新の Kafka バージョンのバイナリーの使用を開始します。
再起動した Kafka ブローカーが、フォローしているパーティションレプリカに追いついたことを確認します。
kafka-topics.sh
ツールを使用して、ブローカーに含まれるすべてのレプリカが同期していることを確認します。手順は、トピックの一覧表示および説明 を参照してください。次の手順では、新しい inter-broker プロトコルバージョンを使用するように Kafka ブローカーを更新します。
各ブローカーを一度に 1 つずつ更新します。
警告次の手順を完了した後は、AMQ ストリームをダウングレードすることはできません。
-
テキストエディターで、更新する Kafka ブローカーのブローカープロパティーファイルを開きます。ブローカープロパティーファイルは、一般的に
/opt/kafka/config/
ディレクトリーに保存されます。 inter.broker.protocol.version
を3.1
に設定します。inter.broker.protocol.version=3.1
inter.broker.protocol.version=3.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドラインで、変更した Kafka ブローカーを停止します。
/opt/kafka/bin/kafka-server-stop.sh jcmd | grep kafka
/opt/kafka/bin/kafka-server-stop.sh jcmd | grep kafka
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更した Kafka ブローカーを再起動します。
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 再起動した Kafka ブローカーが、フォローしているパーティションレプリカに追いついたことを確認します。
kafka-topics.sh
ツールを使用して、ブローカーに含まれるすべてのレプリカが同期していることを確認します。手順は、トピックのリスト表示および説明 を参照してください。