Confluent のシステム要件¶
ハードウェア¶
オンプレミス¶
個々の Confluent Platform コンポーネントをインストールする場合について、以下のマシンを推奨します。
コンポーネント | ノード | ストレージ | メモリー | CPU |
---|---|---|---|---|
Control Center | 1 | 300 GB、SSD を推奨 | 32 GB RAM(JVM/Java 仮想マシンデフォルト 6 GB) | 12 コア以上 |
ブローカー | 3 |
|
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 |
ZooKeeper への各書き込みは、クライアントが ack を受け取る前にトランザクションログに保存する必要があります。SSD を使用すると、ZooKeeper の書き込みレイテンシが短縮されます。 |
4 GB RAM | 2 ~ 4 コア |
注釈
Confluent Platform を AWS VM にデプロイして Replicator をコネクターとして実行する 場合、バースト可能な CPU タイプ(T2、T3、T3a、および T4g)を持つ VM は、高スループットのストリーミングワークロードをサポートしないことに注意する必要があります。これらの VM 上で実行されている Replicator ワーカーノードは、クレジットの有効期限が切れるとスループットが低下します。そのため、高い CPU レベルで長時間実行されることが想定され、ベースラインのリソースレートを上回るワークロードをサポートする Confluent Platform ノードには、これらの VM は適していません。
クラウド¶
Confluent Cloud サポートについては、「Confluent Cloud のサポートされる機能」を参照してください。
ソフトウェア¶
オペレーティングシステム¶
オペレーティングシステム | 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
- Control Center:
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 | × |
|
2182 | × |
|
7770 | × |
Kafka ブローカー | ||
|
9091 | ○ |
|
9092 | × |
|
8090 | × |
|
8090 | × |
|
7771 | × |
(スタンドアロン)REST Proxy | 8082 | × |
Confluent Control Center | 9021 | × |
Kafka Connect | ||
|
8083 | × |
|
7773 | × |
ksqlDB サーバー | ||
|
8088 | × |
|
7774 | × |
Schema Registry | ||
|
8081 | × |
|
7772 | × |
[*] Ansible を使用して Confluent Platform をデプロイする場合にのみ、Jolokia ポートを予約します。
時間の同期¶
システムのすべての機能を正常に動作させるには、Kafka の各ブローカーでクロック同期が必要です。たとえば、TLS 証明書の検証に依存するブローカーとのセキュアなネットワーク通信は、クロックが同期されていない場合に失敗する可能性があります。クロック同期は、Network Time Protocol(NTP)を実装した ntpd
などのユーティリティを使用して実行できます。