Install using Docker¶
Docker イメージを使用すると、Confluent Platform 全体または個々のコンポーネントをインストールできます。
Confluent Platform Docker イメージは DockerHub で入手でき、イメージのソースファイルは GitHub で入手できます。GitHub から、イメージを拡張して再ビルドし、ユーザーの DockerHub リポジトリにアップロードすることができます。Confluent Platform イメージの詳細については、「Docker Image Reference」を参照してください。
考慮事項¶
Docker イメージを使用する前に、以下の点を考慮する必要があります。
- マルチノード環境
- 詳細については、「マルチノード環境の構成」を参照してください。
- 永続的なデータ(マウントされたボリューム)
- Kafka と ZooKeeper イメージをデプロイする場合、それらのイメージが永続的なデータに使用するファイルシステムには、常に Docker 外部ボリュームのマウント を使用する必要があります。これにより、停止や再起動が発生した場合もコンテナーは適切なステートを維持します。その他のイメージは Kafka のトピックで直接ステートを維持するため、これらのコンテナーには通常、マウントされたボリュームは必要ありません。
- ブリッジネットワーキングとホストネットワーク
ブリッジネットワーキングは現在、単一のホストでのみサポートされています。複数のホストでブリッジネットワークを実行するにはオーバーレイネットワークを使用する必要がありますが、オーバーレイネットワークは現時点ではサポートされていません。ブリッジネットワーク外のクライアントに Kafka を公開するには、コンテナー IP を特定し、それを
advertised.listeners
に入れなければなりません。これは、イメージの使用方法によっては難しい場合があります。さらに、ネットワークホップが追加され、ネットワークスタックを共有するホストネットワークと同程度のパフォーマンスを発揮できない可能性もあります。ホストネットワーキングは、以下の場合に推奨されるオプションです。
- Swarm や Kubernetes を使わないマルチホストクラスター。
- ブリッジやオーバーレイネットワークの外で Kafka へアクセスできるクライアントが必要な場合。
- Kafka Connect イメージへのコネクターの追加
Kafka Connect イメージに新しいコネクターを追加する方法を以下に示します。
- コネクターがインストールされた新しい Docker イメージをビルドします。「Confluent Platform イメージの拡張」にある例に従ってください。Connect サービスの CLASSPATH にコネクター JAR があることを確認する必要があります(推奨されるデフォルトの場所は
/usr/share/java/kafka-connect-*
です)。 - ボリュームを介してコネクター JAR を追加します。新しい Docker イメージを作成しない場合は、「Confluent Platform イメージの拡張」のドキュメントを参照し、
cp-kafka-connect
コンテナーを外部 JAR で構成してください。
- コネクターがインストールされた新しい Docker イメージをビルドします。「Confluent Platform イメージの拡張」にある例に従ってください。Connect サービスの CLASSPATH にコネクター JAR があることを確認する必要があります(推奨されるデフォルトの場所は
- サポートされる Java
- Confluent Docker イメージには、テスト済みである Azul Zulu OpenJDK が付属しています。他の JDK(Oracle Java を含む)もサポートされていますが、その変更を実装するにはイメージをユーザーが拡張する必要があります。
- 未テストの機能
- イメージは現在 Docker Swarm ではテストされていません。
チュートリアルとデモ¶
以下のチュートリアルではこれらの例を活用しており、作業を開始するのに役立ちます。