搭配使用 ksqlDB 與 Event Streams
您可以將 KSQL 與 Event Streams 搭配使用以進行串流處理。
ksqlDB 是用於事件串流的專用資料庫。 使用它來快速建置端對端事件串流應用程式,並針對 Apache Kafka建置專門用途的串流處理資料庫。
使用 Event Streams 執行 ksqlDB 的最快速且最簡單的方式是使用 Docker 容器,如 ksqlDB 快速入門中所述。
因為 ksqlDB 需要建立具有無限制 retention.ms 設定的主題,所以您只能將 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 ssl.protocol=TLSv1.2 ssl.enabled.protocols=TLSv1.2 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 快速入門手冊中列出的所有查詢。