3.6. Kafka ブローカーの正常なローリング再起動の実行


この手順では、マルチノードクラスターでブローカーの正常なローリング再起動を実行する方法を説明します。通常、Kafka クラスター設定プロパティーのアップグレードまたは変更後にローリング再起動が必要です。

注記

一部のブローカー設定では、ブローカーの再起動は必要ありません。詳細は、Apache Kafka ドキュメントの Updating Broker Configs を参照してください。

ブローカーの再起動後に、レプリケーションが不十分なトピックパーティションがないかをチェックして、レプリカパーティションの数が十分にあることを確認します。

可用性を失わずに正常な再起動を実現するには、トピックをレプリケーションしていること、および少なくとも最小数のレプリカ (min.insync.replicas) が同期していることを確認してください。min.insync.replicas 設定は、書き込みを成功とみなすために書き込みを確認する必要のあるレプリカの最小数を決定します。

マルチノードクラスターの場合に、標準的な方法として、トピックレプリケーション係数を 3 以上に、In-Sync レプリカの最小数をレプリケーション係数よりも 1 少なく設定します。データの持続性のためにプロデューサー設定で acks=all を使用している場合は、再起動したブローカーが、次のブローカーを再起動する前にレプリケーションするすべてのパーティションと同期していることを確認します。

すべてのパーティションが同じブローカーにあるため、単一ノードのクラスターは再起動時に利用できなくなります。

前提条件

  • Streams for Apache Kafka が 各ホストにインストールされており、設定ファイルが使用可能である。
  • Kafka クラスターが想定どおりに動作している。

    レプリケーションが不十分なパーティションや、ブローカーの動作に影響を与えるその他の問題がないかどうかを確認します。この手順では、レプリケーションが不十分なパーティションをチェックする方法を説明します。

手順

各 Kafka ブローカーで以下の手順を実行します。次のステップに進む前に、最初のブローカーの手順を完了してください。コントローラーとしても機能するブローカーでは、最後に手順を実行します。そうしない場合、再起動を複数回行う時にコントローラーを変更する必要があります。

  1. Kafka ブローカーを停止します。

    /opt/kafka/bin/kafka-server-stop.sh
  2. 完了後に再起動を必要とするブローカー設定に変更を加えます。

    詳細は、以下を参照してください。

  3. Kafka ブローカーを再起動します。

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

    jcmd | grep kafka

    戻り値:

    process ID kafka.Kafka /opt/kafka/config/kraft/server.properties

    各ノードのログをチェックして、KRaft クラスターに正常に参加していることを確認します。

    tail -f /opt/kafka/logs/server.log
  5. ブローカで、レプリケーションが不十分なパーティションがゼロになるまで待ちます。コマンドラインから確認するか、メトリクスを使用できます。

    • --under-replicated-partitions パラメーターを指定して kafka-topics.sh コマンドを使用します。

      /opt/kafka/bin/kafka-topics.sh --bootstrap-server <broker_host>:<port>  --describe --under-replicated-partitions

      以下に例を示します。

      /opt/kafka/bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --under-replicated-partitions

      このコマンドは、クラスターでレプリケーションが不十分なパーティションのトピックのリストを表示します。

      レプリケーションが不十分なパーティションのトピック

      Topic: topic3 Partition: 4 Leader: 2 Replicas: 2,3 Isr: 2
      Topic: topic3 Partition: 5 Leader: 3 Replicas: 1,2 Isr: 1
      Topic: topic1 Partition: 1 Leader: 3 Replicas: 1,3 Isr: 3
      # …

      In-Sync レプリカ (ISR) の数がレプリカの数より少ない場合、レプリケーションが不十分なパーティションが一覧表示されます。リストが返されない場合は、レプリケーションが不十分なパーティションはありません。

    • UnderReplicatedPartitions メトリックを使用します。

      kafka.server:type=ReplicaManager,name=UnderReplicatedPartitions

      このメトリックからは、レプリカが不十分なパーティションの数がわかります。数がゼロになるまで待機します。

      ヒント

      トピックにレプリケーションが不十分なパーティションがあると、Kafka Exporter を使用してアラートを作成します。

再起動時のログの確認

ブローカーが起動できない場合は、アプリケーションログで情報を確認します。/opt/kafka/logs/server.log アプリケーションログでブローカーのシャットダウンと再起動のステータスを確認することもできます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.