Confluent Platform 7.0.3 リリースノート

7.0.3 は Confluent Platform のメジャーリリースであり、Kafka の最新の安定版 Apache Kafka® 3.0.0 が組み込まれています。

このリリースの技術的な詳細について、以降で説明します。

7.0.3 リリースの詳細については、リリースに関するブログ および Streaming Audio のポッドキャスト をご確認ください。

Confluent Control Center

  • Confluent Control Center にインフラストラクチャ軽減モードが追加されました。このモードでは、サービスの実行時にモニタリングが行われません。これは Health+ の製品リリースに対応するもので、この製品では Confluent Platform のモニタリングをクラウドに移行できます。管理モードはデフォルトでは有効にならず、新しい Control Center のプロパティを更新することで有効、無効の切り替えができます。詳細については、「管理サービスとインフラストラクチャ軽減モード」を参照してください。
  • Health+ のセットアップに役立つ新しい UI が Control Center に追加されました。このウィザードは、Health+ のメリットの理解を助け、対象のクラスターで Health+ を有効にするセットアッププロセスを順を追って支援します。詳細については、「Confluent Health+」を参照してください。
  • 数が大きくなると精度が損なわれるトピックメッセージビューアーの問題が修正されました。
  • Kafka API でアクティブコントローラーの数を取得できるようになりました。これにより、アクティブコントローラーの安定性が向上します。
  • Control Center で、クラスターおよびブローカーの構成を調整するためのユーザーインターフェイスが刷新されています。新しいクラスター構成のインターフェイスによって、クラスター設定の元の構成インターフェイスが置き換えられます。ブローカー固有の構成のオーバーライドが検出された場合、Control Center によって変更箇所が示され、適切な設定が適用されていることを確認できます。これにより、クラスターの設定に意図しない変更が適用されて想定外の動作になることを避けられます。詳細については、「ブローカー設定の UI」を参照してください。

Kafka ブローカー

Confluent Server

  • Cluster Linking の一般提供が開始され、本稼働環境のアプリケーションに使用できるようになりました。この機能は、複数のクラスター間のデータの共有や集計、新しいクラスターまたは Confluent Cloud への移行、ディザスターリカバリクラスターのセットアップに使用できます。Cluster Linking の主なアップデート内容は以下のとおりです。
    • Kafka REST v3 の REST API
    • ソース開始リンクでは、送信元クラスターから接続を開始できます。これは、オンプレミスから Confluent Cloud への Cluster Linking の場合に役立ち、安定性とパフォーマンスが向上します。
    • 従来プレビュー版になっていた ACL の同期のサブ機能が Confluent Platform 7.0.x から削除されました。
  • Self-Balancing Clusters では、内部的に新しいブローカー削除エンジンを使用します。このエンジンはパフォーマンスと信頼性が従来よりも高く、Confluent for Kubernetes のサポートに優れています。コマンドや API に変更はないため、そのままでメリットが得られます。

Confluent Community / Apache Kafka

Confluent Platform 7.0.3 features Apache Kafka® 3.0.0. For a full list of the KIPs, features, and bug fixes, take a look at the official Apache Kafka release notes or watch Confluent’s very own Tim Berglund give an overview of Kafka 3.0.0.

クライアント

  • librdkafka v1.8.0 および v.1.8.2

    • このリリースでは、librdkafka および派生ライブラリが改善され、安定性が向上しています。zlib のバージョンが更新され、CVE-2016-9840、CVE-2016-9841、CVE-2016-9842、CVE-2016-9843 などの CVE が修正されています。librdkafka.redist で最新の Windows の依存関係に対応するため、vcpkg が使用されています。
    • 派生ライブラリ(confluent-kafka-goconfluent-kafka-pythonconfluent-kafka-dotnet)にバンドルされているビルドについて、アップストリームの依存関係(OpenSSL、zstd、zlib)を検証する詳細なチェックが追加されています。
    • librdkafka のユーザビリティを改善する機能強化
      • キューに挿入されたメッセージを即座に転送するために、flush()``で ``linger.ms の設定が一時的にオーバーライドされる場合のプロデューサーの動作が改善されています。
      • 中断可能なトランザクションエラーステートで、トランザクションプロデューサーの機能が強化されており、リーダーの変更が繰り返し行われる場合の復旧が改善されます。従来は、変更が繰り返されるとプロデューサーのエポックが誤って更新され、そのため、プロデューサーとコーディネーターの間でトランザクションステートの不一致が生じ、メッセージの喪失につながっていました。
      • librdkafka の最新バージョンでのバグ修正により、librdkafka が新しいワークロードに対して適切な選択肢となっています。既存のワークロードに対してこの新しいバージョンの librdkafka を使用することが推奨されます。
  • プロデューサーのデフォルトの設定で、最も強力なデリバリーの保証が得られるようになります(ack=all および idempotence=true)。これにより、デフォルトで順序付けと持続性が得られることになります。

  • librdkafka の独立したリリースと追加のプラットフォーム

    • librdkafka はオープンソースコミュニティのプロジェクトで、https://github.com/edenhill/librdkafka から入手できます。しかし、Confluent は独自に公式の署名済みのバイナリセットを管理しており、Confluent Platform に同梱しています。
    • Confluent Platform 7.0.3 以降、librdkafka のリリースは Confluent Platform とは別にもパッケージ化されており、https://packages.confluent.io/clients/ で入手できます。また、この変更に伴い、Debian および RPM のアーキテクチャに対応する librdkafka のリリースも入手可能になっています。
    • サポートされるオペレーティングシステムおよびアーキテクチャの詳細については、「サポートされているバージョンおよび相互運用性」の「オペレーティングシステム」 で確認できます。
    • Python、Go、.NET に対応する librdkafka の派生クライアントのディストリビューションには変更はありません。

    Confluent 公式クライアントの詳細については、Kafka クライアント のドキュメントを参照してください。

クラスター管理

Confluent for Kubernetes (旧 Confluent Operator)

Confluent Platform のこのリリースと互換性のある Confluent for Kubernetes のリリースバージョンの一覧については、「サポートされているバージョンおよび相互運用性」を参照してください。

Confluent for Kubernetes の最新リリースのリリースノートについては、こちら を参照してください。

Ansible Playbooks for Confluent Platform

新機能

Ansible Playbooks for Confluent Platform の構成が変更になり、Ansible コレクション となっています。これにより Ansible Playbooks for Confluent Platform の構成がモダン化され、Ansible の業界標準のベストプラクティスに準拠します。Ansible Playbooks for Confluent Platform やその他の Ansible コンテンツを使用した構成が容易になり、組織において Ansible を使用した包括的かつ一貫性のあるソフトウェアのプロビジョニングと構成がしやすくなります。新しい構成を使用する方法については、Ansible Playbooks for Confluent Platform をダウンロードしてドキュメントを参照し、このプレイブックを使用して Confluent Platform を インストール または アップグレード します。

注目すべき機能強化

  • デフォルトで Java バージョン 11 がインストールされます。これまでのデフォルトは Java バージョン 8 でした。Java 8 を使用する必要がある場合は、プラットフォームに応じた適切なインベントリ変数を使用します(ubuntu_java_package_namedebian_java_package_name、または redhat_java_package_name)。
  • Ubuntu 20 のサポートが追加されています。
  • Debian 10 のサポートが追加されています。

注目すべき修正

-vvv Ansible オプションでデバッグが有効になっている場合、パスワード、証明書、キーなどの機密情報が出力されます。Ansible は、-vvv で機密情報を抑制する方法を提供していません。このため、本稼働環境でデバッグモードを使用することはお勧めしません。

代わりに、問題をトラブルシューティングする場合は、プレイブックを --diff オプションで使用します。このリリースでは、Ansible Playbooks for Confluent Platform の --diff オプションでの出力では、パスワード、証明書、キーなどの機密情報が出力されなくなりました。

詳細については、トラブルシューティング を参照してください。

既知の問題

Java 8 がインストールされた Ansible Playbooks で Confluent Platform をデプロイしていた場合、Ansible Playbooks によって Confluent Platform のデプロイをアップデートして Java 11 を使用することはできません。Java 11 をインストールするようにインベントリファイルを構成し、Ansible Playbooks を実行しても、Java 11 がインストールされるのみで、Confluent Platform コンポーネントでは引き続き Java 8 が使用されます。

アップグレードに関する考慮事項

  • FIPS 対応モードが構成された Ansible Playbooks を使用して Confluent Platform をデプロイする場合、Java 8 を使用する必要があります。Confluent Platform の FIPS 対応モードには、Java 11 との互換性がありません。新規インストールやアップグレードで FIPS 対応モードが必要な場合は、Java 8 を使用するように明示的にインベントリファイルを構成することをお勧めします。この構成には、プラットフォームに適したインベントリ変数を使用します(ubuntu_java_package_namedebian_java_package_name、または redhat_java_package_name)。
  • Ansible Playbooks の構成が変更になり、Ansible コレクション となっています。新しい構成を使用する方法については、Ansible Playbooks を使用して Confluent Platform をアップグレード する方法に関するドキュメントを参照してください。

Kafka Raft(KRaft)

Kafka Streams

  • Kafka Streams 2.5 以前で非推奨となっていた API が削除 されました。
  • KIP-732: eos-alpha が非推奨になり eos-betaeos-v2 に置き換えられています。
  • KIP-733: デフォルトのレプリケーション係数が 1 から -1 に変更されています。
  • KIP-741: デフォルトの serde が null に変更されています。
  • KIP-466: 汎用的なリストのシリアル化および逆シリアル化のサポートが Kafka に追加されています。
  • KIP-623: アプリケーションリセットツールに、削除する内部トピックのサブセットを指定する internal-topics オプションが追加されています。
  • KIP-633: ウィンドウで使用されるデフォルトの 24 時間の猶予期間が削除されました。

ksqlDB

  • Confluent Platform 7.0.3 のパッケージに ksqlDB リリース 0.21.0 が含まれます。
  • 外部キーのテーブル同士の結合のサポートが追加されています。
  • どのコネクターがインストールされていて使用可能かを表示する SHOW CONNECTOR PLUGINS 構文が追加されました。
  • コネクター管理のメソッドが Java クライアントに追加されました。
    • createConnector - 指定された構成でコネクターを作成します。
    • dropConnector - 指定されたコネクターを削除します。
    • describeConnector - 指定されたコネクターに関連付けられたメタデータを取得します。
    • listConnectors - すべてのコネクターのリストを取得します。
  • プッシュクエリ用にアイドル状態のタイムアウトのサーバー構成パラメーター(ksql.idle.connection.timeout.seconds)が追加されました。これにより、接続でイベントが送信されていなくても、指定された期間、接続を有効にしておくことができます。
  • DATE 型が、関連するヘルパー関数とともに追加されました。
    • DATEADD - 指定された DATE 値に一定の期間を追加します。
    • DATESUB - 指定された DATE 値から一定の期間を差し引きます。
    • PARSE_DATE - 文字列値を DATE 値に変換します。
    • FORMAT_DATE - DATE 値を STRING 値に変換します。
  • TIME 型が、関連するヘルパー関数とともに追加されました。
    • TIMEADD - 指定された TIME 値に一定の期間を追加します。
    • TIMESUB - 指定された TIME 値から一定の期間を差し引きます。
    • PARSE_TIME - 文字列値を TIME 値に変換します
    • FORMAT_TIME - TIME 値を STRING 値に変換します
  • BYTES 型が、関連するヘルパー関数とともに追加されました。
    • TO_BYTES - 指定された文字列を BYTES 値に変換します。
    • FROM_BYTES - 指定された BYTES 値を解析し、文字列に変換します。

Schema Registry

Confluent Platform 用の Schema Linking のプレビュー版が 7.0.3 に含まれています。最初に Confluent Cloud でリリースされた この機能は、2 つの Schema Registry クラスター間でスキーマの同期を維持するもので、Cluster Linking と組み合わせて、2 つの Schema Registry と Kafka クラスターの間でスキーマとトピックデータの同期を維持するために使用することができます。詳細については、「Confluent Platform の Schema Linking(プレビュー)」を参照してください。

セキュリティ

Confluent Platform バージョン 6.0.x 以降、AES CBC モードは、よりセキュアな AES GCM モードに置き換えられました。新しい構成は、AES GCM モードを使用して暗号化されます。

既存の暗号化されたシークレットを AES GCM モードにアップデートするためのワークフロー

以下のシークレットコマンドを実行して、以前 AES CBC モードで暗号化していた構成を AES GCM モードにアップデートできます。

confluent secret file rotate --data-key \
--local-secrets-file /usr/secrets/security.properties \
-–passphrase @/User/bob/secret.properties

このコマンドでは、AES GCM モードを使用してシークレットを再暗号化します。

Confluent では、次のコマンドを実行して、マスターキーをローテンションすることを推奨しています。

confluent secret file rotate --master-key \
--local-secrets-file /usr/secrets/security.properties \
-–passphrase @/User/bob/secret.properties \
--passphrase-new @/User/bob/secretNew.properties

Confluent CLI バージョンのみをアップグレードするためのワークフロー

Confluent CLI バージョンのアップグレードのみが必要な場合、Confluent では引き続き AES CBC モードがサポートされるので追加の変更は不要です。

|cp| バージョンをアップグレードするためのワークフロー

AES GCM モードは、Confluent Platform をアップグレードした後にのみ利用できます。Confluent CLI シークレットコマンドは、Metadata Service (MDS) クラスターにクエリを実行して、サポートされている AES モードを確認します。

新しい XX_SECRETS_GCM_MODE フラグを使用して、Kafka および Metadata Service (MDS) クラスターをアップグレードするときに AES GCM モードを適用できます。以下で説明するコマンドを使用します。

MDS クラスターをアップグレードするためのワークフロー

Metadata Service (MDS) をアップグレードするには、以下の手順を実行します。

  1. 以下のコマンドを使用して既存のシークレットをローテーションします。
XX_SECRETS_GCM_MODE=true confluent secret file rotate --master-key \
--local-secrets-file /usr/secrets/security.properties \
-–passphrase @/User/bob/secret.properties \
--passphrase-new @/User/bob/secretNew.properties
  1. 以下のコマンドを使用して新しいシークレットを暗号化します。
XX_SECRETS_GCM_MODE=true confluent secret file encrypt --config-file /etc/kafka/connect-distributed.properties \
--local-secrets-file /usr/secrets/security.properties \
--remote-secrets-file /usr/secrets/security.properties \
--config "config.storage.replication.factor,config.storage.topic"
  1. MDS クラスターを起動します。

|mds-long| クラスターのアップグレード後に |ak| クラスターをアップグレードするためのワークフロー

MDS クラスターをアップグレードした後に Kafka クラスターをアップグレードする場合は、XX_SECRETS_GCM_MODE を使用する必要はありません。MDS クラスターによって、AES GCM モードを使用するよう Confluent CLI に通知されます。

  1. 以下のコマンドを使用して既存のシークレットをローテーションします。
confluent secret file rotate --master-key --local-secrets-file /usr/secrets/security.properties \
-–passphrase @/User/bob/secret.properties \
--passphrase-new @/User/bob/secretNew.properties
  1. 以下のコマンドを使用して新しいシークレットを暗号化します。
confluent secret file encrypt --config-file /etc/kafka/connect-distributed.properties \
--local-secrets-file /usr/secrets/security.properties \
--remote-secrets-file /usr/secrets/security.properties \
--config "config.storage.replication.factor,config.storage.topic"
  1. Kafka クラスターを起動します。

|mds-long| クラスターのアップグレード前に |ak| クラスターをアップグレードするためのワークフロー

MDS クラスターをアップグレードする前に Kafka クラスターをアップグレードする場合は、XX_SECRETS_GCM_MODE フラグとシークレットコマンドを使用して、AES GCM モードを適用する必要があります。

  1. 以下のコマンドを使用して既存のシークレットをローテーションします。
XX_SECRETS_GCM_MODE=true confluent secret file rotate --master-key \
--local-secrets-file /usr/secrets/security.properties \
-–passphrase @/User/bob/secret.properties \
--passphrase-new @/User/bob/secretNew.properties
  1. 以下のコマンドを使用して新しいシークレットを暗号化します。
XX_SECRETS_GCM_MODE=true confluent secret file encrypt --config-file /etc/kafka/connect-distributed.properties \
--local-secrets-file /usr/secrets/security.properties \
--remote-secrets-file /usr/secrets/security.properties \
--config "config.storage.replication.factor,config.storage.topic"
  1. Kafka クラスターを起動します。

注釈

XX_SECRETS_GCM_MODE は、このアップグレード中にのみ使用する必要があります。アップグレード中に XX_SECRETS_GCM_MODE フラグを使用しない場合、シークレットは AES CBC モードで暗号化されます。アップグレードの完了後は、新しい構成は、AES GCM モードを使用して暗号化されます。

AES GCM モードは、Confluent Platform バージョン 6.0 以降で利用できます。それより前のバージョンでは、従来の機能に関する理由で、脆弱な AES CBC 暗号化モードが引き続きサポートされます。

Connect

  • KIP-745: コネクターおよびタスクを再開する Connect API: 1 つの API 呼び出しを渡すことで、この機能によりコネクターとそのタスクを再開することができます。以前は、コネクターやタスクの失敗から回復するには、別々の REST API 呼び出しを発行して、それぞれのコネクターおよびタスクのインスタンスを手動で再開する必要がありました。
  • KIP-721: Connect Log4j の構成におけるコネクターログコンテキストのデフォルトでの有効化: この機能により、Connect ワーカーのログで追加のコネクターコンテキストがデフォルトで有効になります。KIP-449 で、Connect ワーカーログにコネクターコンテキストが追加されましたが、デフォルトでは有効になっていませんでした。connect-log4j.properties 構成ファイルを変更することで、追加のコネクターコンテキストを無効にすることができます。
  • KIP-738: Connect の内部コンバーターのプロパティの削除: この機能により、internal.key.converter プロパティ、internal.value.converter プロパティ、およびこれらのプロパティがプレフィックスになっているすべてのプロパティが削除されます。削除済みのプロパティが渡された場合、Connect ワーカーは無視されます。
  • KIP-722: コネクタークライアントのオーバーライドのデフォルトでの有効化: この機能により、connector.client.config.override.policy ワーカー構成プロパティのデフォルト値が All に変更になります。KIP-458 で、コネクター固有のクライアントのオーバーライドが追加されましたが、デフォルトでは有効になっていませんでした。connector.client.config.override.policyNone に設定することで、コネクター固有のクライアントのオーバーライドを無効にすることができます。

テレメトリ

Confluent Platform 7.0.3 以降では、Telemetry Reporter により、Confluent Server からブローカーの構成の詳細情報の選択リストが収集されます。Confluent は、この追加のテレメトリデータが含まれることで、Health+ が有効なクラスターについてチケットがオープンされた場合に迅速にサポートを提供できます。詳細については、「Confluent Telemetry Reporter」を参照してください。

その他の改善点および変更点

Confluent Platform 7.0.3 以降では Ubuntu 20.04 と Debian 10 の両方がサポートされます。詳細については、「オペレーティングシステム」を参照してください。

廃止に関する警告

  • KIP-724: メッセージフォーマット v0 および v1 のサポートが削除されています。新規メッセージはすべて V2 で書き込まれます(2017 年 6 月以降)。クラスターのパフォーマンスを最大限に高めるには、クライアントをアップグレードすることをお勧めします。
  • Confluent Platform の Mesosphere DC/OS Platform でのデプロイはサポートされなくなりました。

ダウンロード方法

Confluent Platform は https://www.confluent.io/download/ からダウンロードできます。詳細については、「オンプレミスのデプロイ」セクションを参照してください。

重要

Confluent Platform パッケージにはデフォルトで Confluent Server が含まれており、server.properties ファイルに confluent.license キーが必要です。Confluent Platform 5.4.x 以降では、Confluent Server ブローカーは起動時にライセンスをチェックします。以下のように confluent.license プロパティを使用して、各ブローカーのプロパティファイルにライセンスの文字列を指定する必要があります。

confluent.license=LICENCE_STRING_HERE_NO_QUOTES

Kafka ブローカーを使用する場合は、confluent-community パッケージをダウンロードしてください。Kafka ブローカーは、すべての Debian、または RHEL および CentOS パッケージでデフォルトです。

Confluent Server への移行の詳細については、「Confluent Server への移行」を参照してください。

Confluent Platform を新しいバージョンにアップグレードするには、ドキュメント「Confluent Platform のアップグレード」を参照してください。

サポートされているバージョンおよび相互運用性

Confluent Platform およびそのコンポーネントのサポートされているバージョンと相互運用性については、「サポートされているバージョンおよび相互運用性」を参照してください。

お問い合わせ

本リリースに関してご不明な点がある場合は、コミュニティのメーリングリスト または コミュニティ Slack からご連絡ください。Confluent 製品を既にご利用の場合は直接サポートにお問い合わせください。