Confluent のシステム要件

ハードウェア

オンプレミス

個々の Confluent Platform コンポーネントをインストールする場合について、以下のマシンを推奨します。

コンポーネント ノード ストレージ メモリー CPU
Control Center 1 300 GB、SSD を推奨 32 GB RAM(JVM/Java 仮想マシンデフォルト 6 GB) 12 コア以上
ブローカー 3
  • 12×1 TB のディスク。RAID 10 はオプション
  • OS ディスクを Apache Kafka® ストレージから分離する
64 GB RAM デュアル 12 コアソケット
Connect 2 インストールにのみ必要 0.5 ~ 4 GB のヒープサイズ(コネクターによって異なる) 通常は CPU の制約を受けません。コア数が多い方が高速なコアよりも優れています。
Replicator   ノード、ストレージ、メモリー、CPU については、Connect と同じ(AWS に関する以下の注記を参照)。    
ksqlDB 2 SSD を使用。サイズは、同時クエリの数と実行される集約によって異なります。 20 GB RAM 4 コア
REST Proxy 2 インストールにのみ必要 1 GB のオーバーヘッドに、プロデューサーあたり 64 MB、コンシューマーあたり 16 MB を追加 HTTP リクエストを並列に処理するための 16 コアと、コンシューマーおよびプロデューサーのためのバックグラウンドスレッド。
Schema Registry 2 インストールにのみ必要 1 GB のヒープサイズ 通常は CPU の制約を受けません。コア数が多い方が高速なコアよりも優れています。
ZooKeeper 3-5
  • トランザクションログ: 512 GB SSD
  • ストレージ: 2 X 1 TB SATA、RAID 10

ZooKeeper への各書き込みは、クライアントが ack を受け取る前にトランザクションログに保存する必要があります。SSD を使用すると、ZooKeeper の書き込みレイテンシが短縮されます。

4 GB RAM 2 ~ 4 コア

上の表で推奨される CPU リソースについてですが、すべてのプラットフォームで同じ数の CPU ユニットが推奨されます。たとえば、Kubernetes 以外の環境に対して 12 個の CPU が推奨されている場合、Kubernetes 環境でも 12 個の CPU ユニットが推奨されることを意味します。

注釈

Confluent Platform を AWS VM にデプロイして Replicator をコネクターとして実行する 場合、バースト可能な CPU タイプ(T2、T3、T3a、および T4g)を持つ VM は、高スループットのストリーミングワークロードをサポートしないことに注意する必要があります。これらの VM 上で実行されている Replicator ワーカーノードは、クレジットの有効期限が切れるとスループットが低下します。そのため、高い CPU レベルで長時間実行されることが想定され、ベースラインのリソースレートを上回るワークロードをサポートする Confluent Platform ノードには、これらの VM は適していません。

クラウド

Confluent Cloud サポートについては、「Confluent Cloud のサポートされる機能」を参照してください。

ソフトウェア

オペレーティングシステム

オペレーティングシステム 6.2.x 6.1.x 6.0.x 5.5.x 5.4.x 5.3.x 5.2.x 5.1.x 5.0.x 4.1.x 4.0.x 3.3.x
RHEL/CentOS 6.x(非推奨) × × ×
RHEL/CentOS 7.x
RHEL/CentOS 8.x × × × × × × × × ×
Debian 8 × × ×
Debian 9 × × × × × ×
Ubuntu 14.04 LTS(非推奨) × × ×
Ubuntu 16.04 LTS
Ubuntu 18.04 LTS × × × × × ×
Windows

Confluent Platform では、Windows は現在サポートされていません。

C/C++.NET クライアントでは、Windows 8.1 以降と Windows 2016 以降がサポートされています。

macOS
macOS 10.14 以降は、テストおよび開発目的でのみサポートされています。
ファイルディスクリプタ
Kafka のファイルディスクリプタ要件については、「ファイルディスクリプタと mmap」を参照してください。
ulimit

Control Center では、多くの RocksDB ファイルを開く必要があります。ulimit -n コマンドを使用して、開いているファイルの数の ulimit を最小値の 16384 に設定します。

その他の Confluent Platform コンポーネント、特に Schema Registry と Replicator では、ulimit を OS のデフォルトのままにしておくことができます。

TLS を使用する RHEL

TLS 暗号化を使用する RHEL8 に Confluent Platform をインストールする場合は、各コンポーネントに DH キーサイズ Java 仮想マシンパラメーターを追加する必要があります。詳細については、『 Strong crypto defaults in RHEL 8 and deprecation of weak crypto algorithms』を参照してください。

以下のコンポーネントレベルの環境変数を引数に設定します。

  • Control Center: CONTROL_CENTER_OPTS=-Djdk.tls.ephemeralDHKeySize=2048
  • Schema Registry: SCHEMA_REGISTRY_OPTS=-Djdk.tls.ephemeralDHKeySize=2048
  • Kafka、ZooKeeper、および Connect: KAFKA_OPTS=-Djdk.tls.ephemeralDHKeySize=2048
  • REST Proxy: KAFKAREST_OPTS=-Djdk.tls.ephemeralDHKeySize=2048
  • ksqlDB: KSQL_OPTS=-Djdk.tls.ephemeralDHKeySize=2048

Java

このバージョンの Confluent Platform では Java 8 および Java 11 がサポートされています。セキュリティの観点から見ると、最新バージョンのパッチリリースの使用をお勧めします。無料で提供されている以前のバージョンには、セキュリティ上の脆弱性が見つかっています。

Java 9 と 10 はサポートされていません。

詳細については、 サポートされている Java バージョン に関するセクションを参照してください。

Java の正しいバージョンを個別にインストールしてから、Confluent Platform のインストール処理を開始する必要があります。

Docker

オプション: サポートされているオペレーティングシステム で実行されている Docker バージョン 1.11 以降。これは、Docker イメージ を使用して Confluent Platform をインストールする場合に必要です。

ネットワーク

Control Center は Kafka に大きく依存するため、高速で信頼性の高いネットワークがパフォーマンスにとって重要です。最新のデータセンターネットワークの速度である 1 GbE、10 GbE であれば問題ありません。

ポート

次の表に、Confluent Platform の一部として公開されるネットワークサービスおよびポートを示します。

以下に示すサービスはすべて、TCP プロトコルを使用します。

以下に示すポートはすべてデフォルトのポートであり、ほとんどの場合、任意に選択した別のポートでリッスンするように各サービスを構成できます。

内部専用 として指定されているポートは、プラットフォームのユーザーまたはクライアントではなく、Confluent Platform 内のコンポーネントからのみアクセスできる必要があります。

Confluent Platform をデプロイする際には、さまざまなコンポーネントおよびサービスへの必要なアクセスがお使いの環境のネットワークルールで許可されていることを確認します。

コンポーネントおよびサービス デフォルトポート 内部専用
ZooKeeper    
  • ピアツーピア通信
2888
  • ピアツーピア通信
3888
  • クライアントアクセス
2181 ×
  • TLS 経由でのクライアントアクセス
2182 ×
  • Jolokia [*]
7770 ×
Kafka ブローカー    
  • ブローカー間リスナー
9091
  • 外部リスナー
9092 ×
  • Metadata Service (MDS)
8090 ×
  • Confluent Server REST API
8090 ×
  • Jolokia [*]
7771 ×
(スタンドアロン)REST Proxy 8082 ×
Confluent Control Center 9021 ×
Kafka Connect    
  • REST API
8083 ×
  • Jolokia [*]
7773 ×
ksqlDB サーバー    
  • REST API
8088 ×
  • Jolokia [*]
7774 ×
Schema Registry    
  • REST API
8081 ×
  • Jolokia [*]
7772 ×

[*] Ansible を使用して Confluent Platform をデプロイする場合にのみ、Jolokia ポートを予約します。

時間の同期

システムのすべての機能を正常に動作させるには、Kafka の各ブローカーでクロック同期が必要です。たとえば、TLS 証明書の検証に依存するブローカーとのセキュアなネットワーク通信は、クロックが同期されていない場合に失敗する可能性があります。クロック同期は、Network Time Protocol(NTP)を実装した ntpd などのユーティリティを使用して実行できます。