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 および派生ライブラリが改善され、安定性が向上しています。zlib のバージョンが更新され、CVE-2016-9840、CVE-2016-9841、CVE-2016-9842、CVE-2016-9843 などの CVE が修正されています。
librdkafka.redist
で最新の Windows の依存関係に対応するため、vcpkg が使用されています。 - 派生ライブラリ(
confluent-kafka-go
、confluent-kafka-python
、confluent-kafka-dotnet
)にバンドルされているビルドについて、アップストリームの依存関係(OpenSSL、zstd、zlib)を検証する詳細なチェックが追加されています。 - librdkafka のユーザビリティを改善する機能強化
- キューに挿入されたメッセージを即座に転送するために、
flush()``で ``linger.ms
の設定が一時的にオーバーライドされる場合のプロデューサーの動作が改善されています。 - 中断可能なトランザクションエラーステートで、トランザクションプロデューサーの機能が強化されており、リーダーの変更が繰り返し行われる場合の復旧が改善されます。従来は、変更が繰り返されるとプロデューサーのエポックが誤って更新され、そのため、プロデューサーとコーディネーターの間でトランザクションステートの不一致が生じ、メッセージの喪失につながっていました。
- librdkafka の最新バージョンでのバグ修正により、librdkafka が新しいワークロードに対して適切な選択肢となっています。既存のワークロードに対してこの新しいバージョンの librdkafka を使用することが推奨されます。
- キューに挿入されたメッセージを即座に転送するために、
- このリリースでは、librdkafka および派生ライブラリが改善され、安定性が向上しています。zlib のバージョンが更新され、CVE-2016-9840、CVE-2016-9841、CVE-2016-9842、CVE-2016-9843 などの CVE が修正されています。
プロデューサーのデフォルトの設定で、最も強力なデリバリーの保証が得られるようになります(
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_name
、debian_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_name
、debian_java_package_name
、またはredhat_java_package_name
)。 - Ansible Playbooks の構成が変更になり、Ansible コレクション となっています。新しい構成を使用する方法については、Ansible Playbooks を使用して Confluent Platform をアップグレード する方法に関するドキュメントを参照してください。
Kafka Raft(KRaft)¶
- Kafka Raft(KRaft)が開発者プレビュー版となっています。詳細については、「Confluent Platform での Kafka Raft(KRaft)のプレビュー」を参照してください。
Kafka Streams¶
- Kafka Streams 2.5 以前で非推奨となっていた API が削除 されました。
- KIP-732: eos-alpha が非推奨になり eos-beta が eos-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) をアップグレードするには、以下の手順を実行します。
- 以下のコマンドを使用して既存のシークレットをローテーションします。
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
- 以下のコマンドを使用して新しいシークレットを暗号化します。
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"
- MDS クラスターを起動します。
|mds-long| クラスターのアップグレード後に |ak| クラスターをアップグレードするためのワークフロー
MDS クラスターをアップグレードした後に Kafka クラスターをアップグレードする場合は、XX_SECRETS_GCM_MODE
を使用する必要はありません。MDS クラスターによって、AES GCM モードを使用するよう Confluent CLI に通知されます。
- 以下のコマンドを使用して既存のシークレットをローテーションします。
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 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"
- Kafka クラスターを起動します。
|mds-long| クラスターのアップグレード前に |ak| クラスターをアップグレードするためのワークフロー
MDS クラスターをアップグレードする前に Kafka クラスターをアップグレードする場合は、XX_SECRETS_GCM_MODE
フラグとシークレットコマンドを使用して、AES GCM モードを適用する必要があります。
- 以下のコマンドを使用して既存のシークレットをローテーションします。
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
- 以下のコマンドを使用して新しいシークレットを暗号化します。
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"
- 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.policy
をNone
に設定することで、コネクター固有のクライアントのオーバーライドを無効にすることができます。
テレメトリ¶
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 製品を既にご利用の場合は直接サポートにお問い合わせください。