独自の Apache Kafka® デモのビルド¶
このページのリソースで、独自の Apache Kafka® デモまたはテスト環境をビルドできます。トピック、コネクター、データソース、スキーマが事前に構成されていないすべてのサービスを開始できます。サービスが実行されると、クラスターに接続し、トピックをプロビジョニングすることができます。また、Kafka プロデューサーやコンシューマーの実行、ksqlDB や Kafka Streams アプリケーションの実行、コネクターの読み込みを行うことができます。
Apache Kafka® のデプロイタイプを以下から選択してください。
Confluent Cloud¶
Confluent Cloud UI の Billing & payment セクションでプロモーションコード C50INTEG
を入力すると、Confluent Cloud で $50 相当を無料で使用できます(詳細)。このプロモーションコードで、この Confluent Cloud サンプルの 1 日分の実行費用が補填されます。これを超えてサービスを利用すると、このサンプルで作成した Confluent Cloud リソースを破棄するまで、時間単位で課金されることがあります。
ccloud-stack ユーティリティ¶
概要¶
Confluent Cloud 向け ccloud-stack ユーティリティ により、フルマネージド型サービスのスタックが Confluent Cloud 内に作成されます。1 つのコマンドで実行されるため、フルマネージド型コンポーネントを Confluent Cloud にすばやく作成できます。その後、他のデモの学習や作成のために、そのコンポーネントを使用できます。これは、本稼働環境では使用しないでください。このスクリプトは、Confluent Cloud CLI を使用して、以下のことを Confluent Cloud で動的に行います。
- 新しい環境を作成する。
- 新しいサービスアカウントを作成する。
- 新しい Kafka クラスターとそれに関連する資格情報を作成する。
- Confluent Cloud Schema Registry とそれに関連する資格情報を有効にする。
- 新しい ksqlDB アプリケーションとそれに関連する資格情報を作成する。
- ワイルドカードを使用するサービスアカウント用 ACL を作成する。
- 上記のすべての接続情報を含むローカル構成ファイルを生成する(他のデモや自動化に便利)。

Confluent Cloud で ccloud-stack
を使用する方法については、「Confluent Cloud 向け ccloud-stack ユーティリティ」を参照してください。
サービスに接続する方法¶
ccloud-stack
では、関連付けられたサービスアカウントと ACL を使用して Confluent Cloud ですべてのリソースが作成されるだけでなく、すべての Confluent Cloud 接続情報を含むローカル構成ファイルも生成されます。このファイル全体をクライアントアプリケーションに渡すこともできますし、アプリケーション内で各パラメーターを解析しそのパラメーターを設定することもできます。
ccloud-stack
を実行した後、stack-configs/java-service-account-<SERVICE_ACCOUNT_ID>.config
で構成ファイルを確認します。これは、以下のようになります。
# ------------------------------
# ENVIRONMENT ID: <ENVIRONMENT ID>
# SERVICE ACCOUNT ID: <SERVICE ACCOUNT ID>
# KAFKA CLUSTER ID: <KAFKA CLUSTER ID>
# SCHEMA REGISTRY CLUSTER ID: <SCHEMA REGISTRY CLUSTER ID>
# KSQLDB APP ID: <KSQLDB APP ID>
# ------------------------------
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
bootstrap.servers=<BROKER ENDPOINT>
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='<API KEY>' password='<API SECRET>';
basic.auth.credentials.source=USER_INFO
schema.registry.basic.auth.user.info=<SR API KEY>:<SR API SECRET>
schema.registry.url=https://<SR ENDPOINT>
ksql.endpoint=<KSQLDB ENDPOINT>
ksql.basic.auth.user.info=<KSQLDB API KEY>:<KSQLDB API SECRET>
cp-all-in-one-cloud¶
概要¶
Confluent Cloud を使用していても、ローカルで実行して自己管理する Confluent Platform サービスがいくつかあり、それらのサービスを Confluent Cloud に接続する必要がある場合があります。たとえば、ユーザーが独自のソースコネクターを実行して Confluent Cloud へ書き込んだり、シンクコネクターを実行して Confluent Cloud から読み取ったりするとします。この場合、Confluent Cloud 向け ccloud-stack ユーティリティ を実行して Confluent Cloud インスタンスを作成してから、cp-all-in-one-cloud を実行してサービスを選択的に開始することができます。
この Docker Compose ファイルにより、セルフマネージド型の Confluent Platform コンポーネント(Confluent Cloud 内の Kafka ブローカーを除く)がローカルホストのコンテナーで自動的に実行され、Confluent Cloud に接続するように構成されます。
cp-all-in-one-cloud
を使用する自動デモについては、「Confluent Cloud を使用した Apache Kafka のクイックスタート」に続く cp-all-in-one-cloud 自動クイックスタート をご覧ください。

セットアップ¶
デフォルトでは、ローカルの Docker コンテナーで動作している Schema Registry がサンプルで使用されます。代わりに Confluent Cloud Schema Registry を使用する場合は、最初に Confluent Cloud Schema Registry を有効にしてから サンプルを実行する必要があります。
デフォルトでは、ローカルの Docker コンテナーで動作している ksqlDB がサンプルで使用されます。代わりに Confluent Cloud ksqlDB を使用する場合は、最初に Confluent Cloud Schema Registry を有効にしてから サンプルを実行する必要があります。
confluentinc/cp-all-in-one GitHub リポジトリのクローンを作成します。
git clone https://github.com/confluentinc/cp-all-in-one.git
cp-all-in-one-cloud
ディレクトリに移動します。cd cp-all-in-one-cloud
6.0.6-post ブランチをチェックアウトします。
git checkout 6.0.6-post
docker-compose.yml によって、Confluent Cloud インスタンス(ブートストラップサーバーやセキュリティ構成など)に接続するための値がパラメーター化されています。これらのパラメーターを手動で入力することもできますが、プログラム的な方法として、Kafka クラスターに接続するための構成パラメーターを含むローカルファイル(
$HOME/.confluent/java.config
など)を作成する方法があります。以下のテンプレートのいずれかをベースとして、クラスターへの接続情報でこのファイルをカスタマイズします。{{ BROKER_ENDPOINT }}
、{{CLUSTER_API_KEY }}
、{{ CLUSTER_API_SECRET }}
に値を代入します。# Required connection configs for Kafka producer, consumer, and admin bootstrap.servers={{ BROKER_ENDPOINT }} security.protocol=SASL_SSL sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='{{ CLUSTER_API_KEY }}' password='{{ CLUSTER_API_SECRET }}'; sasl.mechanism=PLAIN # Required for correctness in Apache Kafka clients prior to 2.6 client.dns.lookup=use_all_dns_ips # Best practice for Kafka producer to prevent data loss acks=all
Confluent Cloud とやり取りするための便利な関数がまとめられている bash ライブラリを取得します。このライブラリは、コミュニティによってサポートされており、Confluent ではサポートしていません。
curl -sS -o ccloud_library.sh https://raw.githubusercontent.com/confluentinc/examples/latest/utils/ccloud_library.sh
ccloud_library.sh
(前の手順でダウンロードしてあります)を使用して、ダウンストリームクライアント用の構成ファイルを自動生成します。出力ファイルの 1 つに、delta_configs/env.delta
があります。source ./ccloud_library.sh ccloud::generate_configs $HOME/.confluent/java.config
ご使用の環境で ENV 変数をソースとして指定します。これにより、
docker-compose.yml
ファイルで利用することができます。source delta_configs/env.delta
Confluent Cloud Schema Registry に対する資格情報を確認します。
curl -u $SCHEMA_REGISTRY_BASIC_AUTH_USER_INFO $SCHEMA_REGISTRY_URL/subjects
Confluent Cloud ksqlDB に対する資格情報を確認します。
curl -H "Content-Type: application/vnd.ksql.v1+json; charset=utf-8" -u $KSQLDB_BASIC_AUTH_USER_INFO $KSQLDB_ENDPOINT/info
すべてのローカルサービスを開始する¶
以下の操作を行う前に、必ず、上記の「セットアップ」セクションに記載された手順を完了してください。
すべてのサービスをローカルで開始するには、次のように入力します。
docker-compose up -d
すべてのローカルサービスを開始する¶
以下の操作を行う前に、必ず、上記の「セットアップ」セクションに記載された手順を完了してください。
Schema Registry をローカルで開始するには、次のように入力します(Confluent Cloud Schema Registry を使用していない場合)。
docker-compose up -d schema-registry
Connect をローカルで開始する場合は、docker-compose.yml ファイルにある
connect
というコンテナーを使用します。このコンテナーは、kafka-connect-datagen コネクターが事前にバンドルされたカスタム Docker イメージ cnfldemos/cp-server-connect-datagen を実行しています。次のように入力して、この Docker コンテナーを起動します。docker-compose up -d connect
If you want to run Connect with any other connector, you need to first build a custom Docker image that adds the desired connector to the base Kafka Connect Docker image (see Add Connectors or Software). Search through Confluent Hub to find the appropriate connector and set
CONNECTOR_NAME
, then build the new, custom Docker container using the provided Dockerfile:docker build --build-arg CONNECTOR_NAME=${CONNECTOR_NAME} -t localbuild/connect_custom_example:latest -f ../Docker/Dockerfile .
このカスタム Docker コンテナーを、次のいずれかの方法で開始します。
# Override the original Docker Compose file docker-compose -f docker-compose.yml -f ../Docker/connect.overrides.yml up -d connect # Run a new Docker Compose file docker-compose -f docker-compose.connect.local.yml up -d
Confluent Control Center をローカルで開始する場合は、次のように入力します。
docker-compose up -d control-center
ksqlDB をローカルで開始するには、次のように入力します(Confluent Cloud ksqlDB を使用していない場合)。
docker-compose up -d ksqldb-server
Confluent Cloud ksqlDB を使用していると想定し、一時的な Docker コンテナーを実行するのみである場合に ksqlDB CLI を開始するには、次のように入力します。
docker run -it confluentinc/cp-ksqldb-cli:5.5.0 -u $(echo $KSQLDB_BASIC_AUTH_USER_INFO | awk -F: '{print $1}') -p $(echo $KSQLDB_BASIC_AUTH_USER_INFO | awk -F: '{print $2}') $KSQLDB_ENDPOINT
ksqlDB CLI 用の Docker コンテナーを Docker Compose ファイルから実行し、別の手順で Confluent Cloud ksqlDB に接続する場合は、次のように入力します。
docker-compose up -d ksqldb-cli
REST Proxy をローカルで開始する場合は、次のように入力します。
docker-compose up -d rest-proxy
サービスに接続する方法¶
Docker コンテナーでローカルに実行されているサービスに cp-all-in-one-cloud
から接続するには、以下のようにしてください。
- localhost から接続している場合は、
localhost:<ポート>
を使用します。 - 他の Docker コンテナーから接続している場合は、
<コンテナー名>:<ポート>
を使用します。
コンテナー名とポートについては、docker-compose.yml ファイルを参照してください。
Datagen によるテストデータの生成¶
Confluent Cloud を初めて使用する場合は、ブログの投稿記事「Creating a Serverless Environment for Testing Your Apache Kafka Applications : a “Hello, World!”」をお読みください。この記事では、 Kafka トピックに対する興味深いテストデータを生成するさまざまな方法も説明しています。
オンプレミス¶
cp-all-in-one¶
概要¶
cp-all-in-one は、Confluent Platform スタックをオンプレミスで実行するために使用します。この Docker Compose ファイルにより、Confluent Platform のすべてのサービスが開始され、ローカルホスト内のコンテナーで実行されます。
cp-all-in-one
を使用する自動デモについては、「Confluent Platform を使用した Apache Kafka のクイックスタート(Docker)」に続く cp-all-in-one 自動クイックスタート をご覧ください。
- 前提条件:
- Docker
- Docker バージョン 1.11 またはそれ以降が インストールされ動作している。
- Docker Compose が インストール済みである 。Docker Compose は、Docker for Mac ではデフォルトでインストールされます。
- Docker メモリーに最小でも 8 GB が割り当てられている。Docker Desktop for Mac を使用しているとき、Docker メモリーの割り当てはデフォルトで 2 GB です。Docker でデフォルトの割り当てを 8 GB に変更できます。Preferences、Resources、Advanced の順に移動します。
- Git
- インターネットに接続されている
- Confluent Platform で現在サポートされる オペレーティングシステム
- Docker でのネットワークと Kafka
- Docker

confluentinc/cp-all-in-one GitHub リポジトリのクローンを作成します。
git clone https://github.com/confluentinc/cp-all-in-one.git
cp-all-in-one
ディレクトリに移動します。cd cp-all-in-one
6.0.6-post ブランチをチェックアウトします。
git checkout 6.0.6-post
すべてのサービスを開始するには、次のように入力します。
docker-compose up -d
サービスに接続する方法¶
Docker コンテナーでローカルに実行されているサービスに cp-all-in-one
から接続するには、以下のようにしてください。
- localhost から接続している場合は、
localhost:<ポート>
を使用します。たとえば、Kafka ブローカーに接続するには、localhost:9092
に接続します。 - 他の Docker コンテナーから接続している場合は、
<コンテナー名>:<ポート>
を使用します。たとえば、Kafka ブローカーに接続するには、broker:29092
に接続します。
コンテナー名とポートについては、docker-compose.yml ファイルを参照してください。
cp-all-in-one-community¶
概要¶
cp-all-in-one-community は、Confluent Platform からコミュニティサービスのみをオンプレミスで実行するために使用します。この Docker Compose ファイルにより、すべてのコミュニティサービスが開始され、ローカルホスト内のコンテナーで実行されます。
cp-all-in-one-community
の使用方法の自動デモについては、「Confluent Platform Community コンポーネントを使用した Apache Kafka のクイックスタート(Docker)」に続く cp-all-in-one-community 自動クイックスタート をご覧ください。
- 前提条件:
- Docker
- Docker バージョン 1.11 またはそれ以降が インストールされ動作している。
- Docker Compose が インストール済みである 。Docker Compose は、Docker for Mac ではデフォルトでインストールされます。
- Docker メモリーに最小でも 8 GB が割り当てられている。Docker Desktop for Mac を使用しているとき、Docker メモリーの割り当てはデフォルトで 2 GB です。Docker でデフォルトの割り当てを 8 GB に変更できます。Preferences、Resources、Advanced の順に移動します。
- Git
- インターネットに接続されている
- Confluent Platform で現在サポートされる オペレーティングシステム
- Docker でのネットワークと Kafka
- Docker

confluentinc/cp-all-in-one GitHub リポジトリのクローンを作成します。
git clone https://github.com/confluentinc/cp-all-in-one.git
cp-all-in-one-community
ディレクトリに移動します。cd cp-all-in-one-community
6.0.6-post ブランチをチェックアウトします。
git checkout 6.0.6-post
すべてのサービスを開始するには、次のように入力します。
docker-compose up -d
サービスに接続する方法¶
Docker コンテナーでローカルに実行されているサービスに cp-all-in-one-community
から接続するには、以下のようにしてください。
- localhost から接続している場合は、
localhost:<ポート>
を使用します。たとえば、Kafka ブローカーに接続するには、localhost:9092
に接続します。 - 他の Docker コンテナーから接続している場合は、
<コンテナー名>:<ポート>
を使用します。たとえば、Kafka ブローカーに接続するには、broker:29092
に接続します。
コンテナー名とポートについては、docker-compose.yml ファイルを参照してください。
kafka-connect-datagen によるテストデータの生成¶
Confluent Platform を初めて使用する場合は、ブログの投稿記事「Easy Ways to Generate Test Data in Kafka」をお読みください。この記事では、 Kafka トピックに対する興味深いテストデータを生成するさまざまな方法も説明しています。
次のステップ¶
- 「Apache Kafka® のサンプルコード」に掲載されている Kafka クライアントのプロデューサーとコンシューマーのサンプルを実行します(Avro を使用している例と使用していない例があります)。
- Kafka チュートリアル のステップごとの手順に従って、Kafka、Kafka Streams、ksqlDB の基本的なチュートリアルを試してください。