Confluent Platform のアップグレードのチェックリスト

Confluent Platform 7.1 以降 にアップグレードすると、革新的な最新の機能を利用して、お使いのイベントストリーミングプラットフォームで強力なクラウドネイティブのエクスペリエンスが体験できます。このバージョンには、より大きな柔軟性、コスト効率の向上、信頼性の向上、グローバルな可用性によりイベントストリーミングのユースケースを強化する、以下のようなすばらしい新機能があります。

  • CLI: Confluent CLI が Confluent Platform にパッケージ化されるようになりました。
  • クライアント: Confluent Platform で OAuth の使用がサポートされるようになりました。
  • Confluent Control Center: http(s)://domain/path のような URL からの非 root でのホスティングとサービス提供がサポートされるようになりました。
  • Kafka: 送信元クラスターから送信先クラスターへの ACL の移行がサポートされるようになりました。
  • ksqlDB: WITH/TIMESTAMP プロパティで TIMESTAMP 型のサポートが追加されました。ROWPARTITION および ROWOFFSET 疑似列が追加されました。ストリーム同士の新しい結合セマンティクスで猶予期間が有効になりました。
  • セキュリティ: Log Redactor で正規表現のルールに基づいたログの編集が可能になりました。
  • Schema Registry: Schema Linking の一般提供が開始されました。

以下のチェックリストは、最新バージョンへのアップグレード方法のクイックガイドです。詳細なガイダンスについては、「Confluent Platform のアップグレード」を参照してください。

ステップ 0: アップグレードの準備

開始するには、以下が必要です。

  • 既存の Confluent Platform デプロイ。新規デプロイから開始する場合は、「オンプレミスのデプロイ」の手順に従います。
  • お客様固有の要件および環境に適したアップグレード計画。ライブ運用中のクラスターについては、このチェックリストは使用しないでください。「アップグレードガイド」を最後まで読み、アップグレード計画案を作成してください。

重要

5.3.1 より前のバージョンの Confluent Platform を実行している場合は、6.1.x 以降にアップグレードする前に 5.3.1 にアップグレード してください。

ステップ 1: ZooKeeper のアップグレード

  • アップグレードする前に、すべての構成ファイルをバックアップします。
  • リーダーから ZooKeeper データをバックアップします。アップグレードが失敗した場合は、このバックアップを使用して、コミットされた最新のステートに戻ります。

詳細については、「ZooKeeper のアップグレード」を参照してください。

注釈

KIP-500: Kafka Raft(KRaft)は ZooKeeper を置き換えるものですが、KRaft は早期アクセスの段階であるため、開発環境でのみ使用してください。本稼働環境には適していません。詳細については KRaft を使用したオンプレミス(早期アクセス) の説明を参照してください。

ステップ 2: Kafka ブローカーのアップグレード

Kafka ブローカーのアップグレードには以下のオプションがあります。

  • ダウンタイムアップグレード: ビジネスでダウンタイムが許容できる場合は、クラスター全体をダウンさせ、各 Kafka ブローカーを個別にアップグレードし、クラスターを再起動します。
  • ローリングアップグレード: ローリングアップグレードのシナリオでは、クラスターの実行を継続しながら、一度に 1 つの Kafka ブローカーをアップグレードします。エンドユーザーでのダウンタイムを避けるために、「ローリング再起動」の推奨事項に従います。

詳細については、「Kafka ブローカーのアップグレード」を参照してください。

ステップ 3: Confluent Platform コンポーネントのアップグレード

このステップでは、Confluent Platform コンポーネントをアップグレードします。ローリングアップグレード の場合は、クラスターの実行を継続しながら、一度に 1 つのサーバーでアップグレードを実行します。その詳細は環境によって異なりますが、手順は同じです。

  1. Confluent Platform コンポーネントを停止します。
  2. ./etc/kafka 内などの構成ファイルをバックアップします。
  3. 既存のパッケージとその依存関係を削除します。
  4. 新しいパッケージをインストールします。
  5. Confluent Platform コンポーネントを再起動します。

Confluent Platform コンポーネントとして Confluent Control Center は最後にアップグレードする必要があります。

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

個々の Confluent Platform コンポーネントのアップグレード手順:

ステップ 4: 構成ファイルのアップデート

バージョンが変わると、一部の構成設定も変わります。以下のセクションでは、特定のバージョンで必要な変更について説明します。

Connect Log Redactor の構成

Confluent Platform 7.1.0 以降、Log Redactor で正規表現のルールに基づいてログを編集できるようになりました。Log Redactor は、log4j プロパティファイルをアップデートする方法で Connect などのコンポーネント用に構成できる log4j アペンダーです。

Connect 用に Log Redactor を構成するには、Confluent Platform 7.1 以降にアップグレードした後に、以下の設定を connect-log4j.properties ファイルに追加します。

# Configure the Log Redactor rewrite appender to redact log messages using the
# specified redaction regex rules. The `policy.rules` property specifies the
# location of the redaction rules file to be used. The appender redacts logs
# before forwarding them to other appenders specified in the `appenderRefs` property.
log4j.appender.redactor=io.confluent.log4j.redactor.RedactorAppender
log4j.appender.redactor.appenderRefs=stdout, connectAppender
log4j.appender.redactor.policy=io.confluent.log4j.redactor.RedactorPolicy
log4j.appender.redactor.policy.rules=<path_to_log4j_config>/connect-log-redactor-rules.json

# Attach the redactor appender to the root logger.
log4j.rootLogger=INFO, stdout, connectAppender, redactor

Confluent ライセンス

Confluent Platform 5.4.x 以降にアップグレードした場合は、confluent.license 構成パラメーターを server.properties ファイルに追加します。Confluent Platform 5.4.x 以降では、起動するには confluent.license 設定が必要です。詳細については、「Confluent Platform ライセンス」を参照してください。

セキュリティ

Confluent Platform 5.4.x 以降にアップグレードした場合は、server.properties ファイルのオーソライザークラスをアップデートします。

Confluent Platform 5.4.x 以降、新しいオーソライザークラス kafka.security.authorizer.AclAuthorizerkafka.security.auth.SimpleAclAuthorizer に代わって使用されます。server.properties ファイル で、kafka.security.auth.SimpleAclAuthorizer の既存のインスタンスを kafka.security.authorizer.AclAuthorizer に変更します。詳細については、「ACL のコンセプト」を参照してください。

Self-Balancing Clusters のレプリケーション係数

Confluent Platform 6.0.0 では、Self-Balancing 構成用に confluent.balancer.topic.replication.factor 設定が追加されました。その値はブローカーの総数以下となるようにしてください。

詳細については、「confluent.balancer.topic.replication.factor」を参照してください。

Confluent Log Redactor

Confluent Log Redactor は、Connect ではデフォルトで有効になっています。ただし、Confluent Platform のアップグレードで指示 されているように、インストール前に構成ファイルをバックアップし、インストール後にそれらを復元して構成の変更を保持する必要があります。この結果として、Log Redactor が有効でなくなっているため、以下のように connect-log4j.properties ファイルの Connect 構成を手動で構成する必要があります。

# Configures the Log Redactor rewrite appender, which redacts log messages using the specified redaction regex
# rules. The `policy.rules` property specifies the location of the redaction rules file to be used.
# The appender redacts logs before forwarding them to other appenders specified in the `appenderRefs` property.
log4j.appender.redactor=io.confluent.log4j.redactor.RedactorAppender
log4j.appender.redactor.appenderRefs=stdout, connectAppender
log4j.appender.redactor.policy=io.confluent.log4j.redactor.RedactorPolicy
log4j.appender.redactor.policy.rules=${log4j.config.dir}/connect-log-redactor-rules.json

ステップ 5: Health+ の有効化

Health+ により、ダウンタイムの発生前に問題を特定でき、イベントストリーミングアプリケーションに高い可用性を保証できます。

  • テレメトリ の有効化 – Confluent Telemetry Reporter は、サービスに関するメタデータを Confluent にプッシュするために各 Confluent Platform サービス内で動作するプラグインです。Telemetry Reporter により、メタデータに基づく製品機能(Health+ など)が有効になります。テレメトリは、Health+ の使用に必要なメタデータに限定されます(たとえば、トピックデータはありません)。またテレメトリは、サポートサービスのプロビジョニングで Confluent をサポートするためにのみ使用されます。
  • Health+ の有効化 – Telemetry Reporter を有効にした後、Health+ をアクティブにすることで、Confluent Platform デプロイのパフォーマンスおよび構成データに関する継続的なリアルタイム解析を実現できます。

注釈

テレメトリと Health+ の有効化は、ダウンタイムを最小限に抑えるために推奨され、メリットのある操作ですが、Confluent Platform 6.0 以降にアップグレードするために必須な操作ではありません。これらの機能についてご質問がある場合は、Confluent アカウントチームにご相談ください。

ステップ 6: アプリケーションの再構築

新しい 7.1.x ライブラリに対して Kafka プロデューサーおよびコンシューマーを使用するアプリケーションがある場合は、そのアプリケーションを再構築して再デプロイします。詳細については、「アプリケーション開発」を参照してください。

Kafka ブローカーを最初にアップグレードしなくても、Kafka Streams アプリケーションを個別にアップグレードできます。Kafka Streams の最新バージョンを使用するようにアプリケーションをアップグレードするには、「Kafka Streams アップグレードガイド」の手順に従います。

詳細については、「他のクライアントアプリケーションのアップグレード」を参照してください。