Event Streams での ksqlDB の使用
第2世代
Event Streams と KSQLを組み合わせて、ストリーム処理を行うことができます。
ksqlDB イベントストリーミング専用に設計されたデータベースです。 Apache Kafka 専用のストリーム処理データベースを活用して、エンドツーエンドのイベントストリーミングアプリケーションを迅速に構築できます。
Event Streams で ksqlDB を最も迅速かつ簡単に実行する方法は、ksqlDB Quickstart で説明されているように Docker コンテナーを使用する方法です。
ksqlDB では、 retention.ms の設定に制限のないトピックを作成する必要があるため、Enterpriseプランでは ksqlDB のみを使用できます。
セットアップを行うには、以下の手順に従ってください。 設定が完了すると、『 ksqlDB クイックスタートガイド 』に記載されているすべてのクエリを実行できるようになります。
-
IBM Cloud コンソールの Event Streams ダッシュボードを使用して、単一のパーティションとデフォルトの保存期間を持つ
_confluent-ksql-default__command_topicというトピックを作成します。 -
Docker コンテナーで ksqlDB を実行する場合は、以下のステップを実行します。
a. 以下の内容の
docker-compose.ymlファイルを作成します。--- version: '2' services: ksqldb-server: image: confluentinc/ksqldb-server:latest hostname: ksqldb-server container_name: ksqldb-server ports: - "8088:8088" environment: KSQL_LISTENERS: http://0.0.0.0:8088 KSQL_BOOTSTRAP_SERVERS: <BOOTSTRAP_SERVERS> KSQL_KSQL_SERVICE_ID: default_ KSQL_KSQL_SINK_REPLICAS: 3 KSQL_KSQL_STREAMS_REPLICATION_FACTOR: 3 KSQL_SECURITY_PROTOCOL: SASL_SSL KSQL_KSQL_INTERNAL_TOPIC_REPLICAS: 3 KSQL_SASL_JAAS_CONFIG: org.apache.kafka.common.security.plain.PlainLoginModule required username=\"token\" password=\"<PASSWORD>\"; KSQL_SASL_MECHANISM: PLAIN ksqldb-cli: image: confluentinc/ksqldb-cli:latest container_name: ksqldb-cli depends_on: - ksqldb-server entrypoint: /bin/sh tty: trueここで、BOOTSTRAP_SERVERS および PASSWORD は、Event Streams の IBM Cloud **「サービス資格情報」**タブからの値です。
b. ファイルを作成したディレクトリから、次のコマンドを実行して ksqlDB サーバーを起動してください。
docker-compose upc. 以下のコマンドを実行して ksqlDB サーバーに接続し、対話式のコマンド・ライン・インターフェース (CLI) セッションを開始します。
docker exec -it ksqldb-cli ksql http://ksqldb-server:8088 -
Docker コンテナーで ksqlDB を実行していない場合は、以下のステップを実行します。
a. ksqlDB リポジトリーを複製します。
git clone https://github.com/confluentinc/ksqlb. ksqlDB ディレクトリーに移動して、コードをコンパイルします。
cd ksql mvn clean install -Dmaven.test.skip=truec. Event Streams ksqlDB 構成ファイルを作成します。
以下に例を示します。
bootstrap.servers=BOOTSTRAP_SERVERS listeners=http://localhost:8088 security.protocol=SASL_SSL sasl.mechanism=PLAIN sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="token" password="PASSWORD"; ksql.sink.replications.default=3ここで、BOOTSTRAP_SERVERS および PASSWORD は、Event Streams の IBM Cloud **「サービス資格情報」**タブからの値です。
d. 次のコマンドを使用して、 ksqlDB サーバーを起動します:
./bin/ksql-server-start ./config/ibm-eventstreams.propertiese. 次のコマンドを使用して、 ksqlDB CLI を起動します:
./bin/ksql
これらの手順を完了すると、『 ksqlDB クイックスタートガイド 』に記載されているすべてのクエリを実行できるようになります。