AMQ Streams 2.0 on RHEL リリースノート


Red Hat AMQ Streams 2.0

新機能のハイライトと、この AMQ Streams on Red Hat Enterprise Linux リリースの変更内容

概要

本リリースノートでは、AMQ Streams 2.0 リリースで導入された新機能、改良された機能、および修正についてまとめています。

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージをご覧ください。

第1章 特長

本リリースで追加され、これまでの AMQ Streams リリースにはなかった機能は次のとおりです。

AMQ Streams 2.0.1 パッチリリースが利用できるようになりました。

注記

本リリースで解決された改良機能とバグをすべて確認するには、AMQ Streams の Jira プロジェクト を参照してください。

1.1. Kafka 2.7.0 のサポート

AMQ Streams は Apache Kafka バージョン 2.7.0 に対応するようになりました。

AMQ Streams は Kafka 2.7.0 を使用します。Red Hat によってビルドされた Kafka ディストリビューションのみがサポートされます。

アップグレードの手順は、「AMQ Streams and Kafka upgrades」を参照してください。

詳細は、Kafka 2.8.0 および Kafka 3.0.0 のリリースノートを参照してください。

注記

Kafka 2.8.x は、AMQ Streams 2.0 にアップグレードする目的でのみサポートされます。

サポートされるバージョンの詳細は、カスタマーポータルの Red Hat Streams for Apache Kafka Component Details を参照してください。

Kafka 3.0.0 には ZooKeeper バージョン 3.6.3 が必要です。したがって、アップグレードに関するドキュメントで説明されているように、AMQ Streams 1.8 から AMQ Streams 2.0 にアップグレードするときに ZooKeeper をアップグレードする必要があります。

警告

Kafka 3.0.0 では 自己管理モード に早期にアクセスできます。このモードでは、Kafka が Raft プロトコルを使用して ZooKeeper なしに実行されます。AMQ Streams では、自己管理モードがサポートされないことに注意してください

1.2. Scala のアップグレード

AMQ Streams では、Scala2.12 の代わりに Scala2.13 が使用されるようになりました。

Maven ビルドで Kafka Streams の依存関係を使用している場合は、Scala2.13 および Kafka バージョン 3.0.0 を指定するように更新する必要があります。依存関係が更新されない場合は、ビルドされません。

Kafka Streams の依存関係

<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-streams-scala_2.13</artifactId>
    <version>3.0.0</version>
</dependency>

Kafka Streams Scala 依存関係 を参照してください。

1.3. PowerPC アーキテクチャーのサポート

AMQ Streams 2.0 は、PowerPC ppc64le アーキテクチャーでの実行が有効になっています。

IBM Power システムのサポートは、Red Hat Enterprise Linux 8 の Kafka 3.0.0 および Open JDK 11 で実行されている AMQ Streams に適用されます。AMQ Streams 1.8 以前のバージョンの Kafka バージョンには ppc64 バイナリーが 含まれていません

1.3.1. IBM Power システムの要件

  • Red Hat Enterprise Linux 8
  • Open JDK 11
  • Kafka 3.0.0

1.3.2. IBM Power Systems でサポート対象外

  • Red Hat Enterprise Linux 7
  • Kafka 2.8.0 以前
  • Open JDK 8、Oracle JDK 8 および 11、IBM JDK 8
  • これは ppc64le の最初のリリースであるため、AMQ Streams のアップグレードおよびダウングレード

第2章 機能拡張

このリリースで改良された機能は次のとおりです。

2.1. Kafka 2.7.0 で改良された機能

Kafka 3.0.0 に導入された改良機能の概要はKafka 3.0.0 Release Notesを参照してください。

2.2. 外部設定データの環境変数設定プロバイダー

環境変数の設定プロバイダープラグインを使用して、環境変数から設定データを読み込みます。

プロバイダーを使用して、プロデューサーやコンシューマーを含む、すべての Kafka コンポーネントの設定データを読み込むことができます。たとえば、プロバイダーを使用して、Kafka Connect コネクター設定のクレデンシャルを提供します。

環境変数設定プロバイダーは、環境変数を使用して証明書や JAAS 設定を読み込む場合などに使用できます。

Loading configuration values from environment variables を参照してください。

第3章 テクノロジープレビュー

重要

テクノロジープレビューの機能は、Red Hat の実稼働環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat はテクノロジープレビュー機能を実稼働環境に実装することは推奨しません。テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。サポート範囲の詳細は、「テクノロジプレビュー機能のサポート範囲」を参照してください。

3.1. Kafka Static Quota プラグインの設定

Kafka Static Quota プラグインを使用して、Kafka クラスターのブローカーにスループットおよびストレージの制限を設定します。バイトレートのしきい値およびストレージクォータを設定して、ブローカーと対話するクライアントに制限を設けることができます。

Kafka Static Quota プラグインの設定例

client.quota.callback.class= io.strimzi.kafka.quotas.StaticQuotaCallback
client.quota.callback.static.produce= 1000000
client.quota.callback.static.fetch= 1000000
client.quota.callback.static.storage.soft= 400000000000
client.quota.callback.static.storage.hard= 500000000000
client.quota.callback.static.storage.check-interval= 5

Kafka Static Quota プラグインを使用したブローカーへの制限の設定 を参照してください。

3.2. Cruise Control によるクラスターのリバランス

注記

Cruise Control は本リリースでもテクノロジープレビューですが、新たな改良が加えられました。

Cruise Control をデプロイし、これを使用して 最適化ゴール (CPU、ディスク、ネットワーク負荷などに定義された制約) を使用し、Kafka をリバランスできます。バランス調整された Kafka クラスターでは、ワークロードがブローカー Pod 全体に均等に分散されます。

Cruise Control を使用すると、分散された Kafka クラスターを効率的に実行するための時間および労力を削減できます。

カスタマーポータルからダウンロードするために、Cruise Control の zip 形式のディストリビューションを利用できます。Cruise Control をインストールするには、提供される Metrics Reporter を使用するように各 Kafka ブローカーを設定します。その後、最適化ゴールを含む Cruise Control プロパティーを設定し、提供されたスクリプトを使用して Cruise Control を開始します。

Cruise Control サーバーは、Kafka クラスター全体の単一のマシンでホストされます。

Cruise Control が実行されている場合、REST API を使用して以下を行うことができます。

  • 複数の最適化ゴールから ドライラン 最適化プロポーザルの生成
  • 最適化プロポーザルを開始し、Kafka クラスターのリバランスを行います。

通知、独自ゴールの作成、トピックレプリケーション係数の変更など、その他の Cruise Control の機能は現在サポートされていません。

Cruise Control によるクラスターのリバランス を参照してください。

3.2.1. テクノロジープレビューの改良

Cruise Control バージョン 2.5.73 が公開されました。

Red Hat カスタマーポータルから最新バージョンの zip 形式のディストリビューションをダウンロードできます。

カスタマーポータル を参照してください。

第4章 非推奨の機能

このリリースで非推奨となり、これまでの AMQ Streams リリースではサポートされていた機能は次のとおりです。

4.1. Java 8

Java 8 のサポートは Kafka 3.0.0 および AMQ Streams 2.0 で非推奨となりました。Java 8 は、今後、クライアントを含むすべての AMQ Streams コンポーネントではサポートされません。

AMQ Streams は Java 11 をサポートします。新規アプリケーションの開発時に Java 11 を使用します。現在 Java 8 を使用しているアプリケーションを Java 11 に移行する計画です。

4.2. Kafka MirrorMaker 1

Kafka MirrorMaker は、データセンター内またはデータセンター全体の 2 台以上の Kafka クラスター間でデータをレプリケーションします。Kafka MirrorMaker 1 は Kafka 3.0.0 で非推奨となり、Kafka 4.0.0 で削除されます。MirrorMaker 2.0 のみが利用可能なバージョンになります。MirrorMaker 2.0 は Kafka Connect フレームワークをベースとし、コネクターによってクラスター間のデータ転送が管理されます。

そのため、Kafka MirrorMaker 1 のデプロイに使用される AMQ Streams KafkaMirrorMaker カスタムリソースが非推奨になりました。Kafka 4.0.0 が導入されると、KafkaMirrorMaker リソースは AMQ Streams から削除されます。

MirrorMaker 1 (AMQ ストリームドキュメントでちょうど MirrorMaker と呼ばれる) を使用している場合は、IdentityReplicationPolicyKafkaMirrorMaker2 のカスタムリソースを使用します。MirrorMaker 2.0 では、ターゲットクラスターにレプリケートされたトピックの名前が変更されます。IdentityReplicationPolicy 設定は、名前の自動変更を上書きします。これを使用して、MirrorMaker 1 と同じアクティブ/パッシブの一方向レプリケーションを作成します。

Kafka MirrorMaker 2.0 クラスターの設定 を参照してください。

第5章 修正された問題

以下のセクションには、AMQ Streams 2.0.x で修正された問題が記載されています。Red Hat は、最新のパッチリリースにアップグレードすることを推奨します。

Kafka 3.0.0 で修正された問題の詳細は、Kafka 2.7.0 Release Notes を参照してください。

5.1. AMQ Streams 2.0.1 で修正された問題

AMQ Streams 2.0.1 パッチリリースが利用できるようになりました。

AMQ Streams 2.0.1 で解決された問題の詳細は、AMQ Streams 2. 0.x Resolved Issues を参照してください。

Log4j の脆弱性

AMQ Streams には log4j 1.2.17 が含まれています。このリリースでは、log4j の脆弱性が数多く修正されています。

本リリースで対応する脆弱性の詳細は、以下の CVE の説明を参照してください。

5.2. Fixed issues for AMQ Streams 2.0.0

Log4j2 の脆弱性

AMQ Streams には log4j2 2.17.1 が含まれています。本リリースでは、log4j2 の脆弱性が多数修正されています。

本リリースで対応する脆弱性の詳細は、以下の CVE の説明を参照してください。

表5.1 修正された問題
課題番号説明

ENTMQST-3250

ログレベルの変更が Kafka Exporter で動作しない

表5.2 CVE (Common Vulnerabilities and Exposures) の修正
課題番号説明

ENTMQST-3146

CVE-2021-34429: jetty-server: jetty: で特別に作成された URI により、セキュリティーの制約を回避できます

ENTMQST-3307

CVE-2021-38153 Kafka: Apache Kafka Connect およびクライアントに対するタイミング攻撃の脆弱性

ENTMQST-3308

CVE-2021-38153 kafka-clients: Kafka: Apache Kafka Connect およびクライアントの攻撃脆弱性の調整

ENTMQST-3316

CVE-2021-37136 netty-codec: Bzip2Decoder が圧縮したデータのサイズ制限を設定できない

ENTMQST-3317

CVE-2021-37137 netty-codec: SnappyFrameDecoder がチャンクの長さを制限せず、スキップ可能なチャンクを不要な方法でバッファリングする可能性があります

ENTMQST-3532

CVE-2021-44228 log4j-core: 攻撃者が制御する文字列の値がログに含まれる場合の Log4j 2.x でのリモートコード実行

ENTMQST-3555

CVE-2021-45046 log4j-core: スレッドコンテキストメッセージパターンとコンテキストルックアップパターンを使用した log4j2.x の Do S

ENTMQST-3587

CVE-2021-45105 log4j-core: Thread Context Map (MDC) 入力データを使用した log4j 2.x の DoS には、再帰ルックアップとコンテキストルックアップパターンが含まれています

ENTMQST-3602

CVE-2021-44832 log4j-core: JDBC Appender を介したリモートコードの実行

第6章 既知の問題

AMQ Streams 2.0 on RHEL には既知の問題がありません。

第7章 サポートされる統合製品

AMQ Streams 1.7 は、以下の Red Hat 製品との統合をサポートします。

Red Hat Single Sign-On 7.4 以降
OAuth 2.0 認証および OAuth 2.0 承認を提供します。

これらの製品によって AMQ Streams デプロイメントに導入可能な機能の詳細は、AMQ Streams 1.7 のドキュメントを参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.