'ksqlDB' mit Event Streams verwenden
Gen 2
Sie können KSQL zusammen mit „ Event Streams “ für die Stream-Verarbeitung nutzen.
ksqlDB ist eine speziell für das Event-Streaming entwickelte Datenbank. Nutzen Sie es, um mit einer speziell für das Event-Streaming entwickelte Datenbank für Apache Kafka schnell End-to-End-Event-Streaming-Anwendungen zu erstellen.
Die schnellste und einfachste Möglichkeit zur Ausführung von ksqlDB mit Event Streams besteht darin, einen Docker-Container wie unter ksqlDB Quickstart beschrieben zu verwenden.
Da „ ksqlDB “ ein Thema mit der Einstellung „ retention.ms “ (unbegrenzt) erstellen muss, können Sie im Enterprise-Tarif nur „ ksqlDB “ verwenden.
Führen Sie die folgenden Schritte aus, um die Einrichtung abzuschließen. Sobald der Vorgang abgeschlossen ist, können Sie alle Abfragen ausführen, die im Schnellstartleitfaden zu „ ksqlDB “ aufgeführt sind.
-
Verwenden Sie das Event Streams-Dashboard in der IBM Cloud-Konsole, um ein Thema mit dem Namen
_confluent-ksql-default__command_topicmit einer einzelnen Partition und dem Standardaufbewahrungszeitraum zu erstellen. -
Wenn Sie ksqlDB in einem Docker-Container ausführen wollen, führen Sie die folgenden Schritte aus:
a. Erstellen Sie die Datei
docker-compose.ymlmit dem folgenden Inhalt:--- 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: trueDabei sind BOOTSTRAP_SERVERS und PASSWORD die Werte von der Event Streams-Registerkarte Serviceberechtigungsnachweise in IBM Cloud.
b. Führen Sie in dem Verzeichnis, in dem Sie die Datei erstellt haben, den folgenden Befehl aus, um den „ ksqlDB “-Server zu starten.
docker-compose upc. Führen Sie den folgenden Befehl aus, um eine Verbindung zum ksqlDB-Server herzustellen und eine Sitzung der interaktiven Befehlszeilenschnittstelle (CLI) zu starten.
docker exec -it ksqldb-cli ksql http://ksqldb-server:8088 -
Wenn Sie ksqlDB nicht in einem Docker-Container ausführen wollen, führen Sie die folgenden Schritte aus:
a. Klonen Sie das ksqlDB-Repository:
git clone https://github.com/confluentinc/ksqlb. Navigieren Sie zu dem ksqlDB-Verzeichnis und kompilieren Sie den Code.
cd ksql mvn clean install -Dmaven.test.skip=truec. Erstellen Sie eine Event Streams-Datei für die ksqlDB-Konfiguration.
Zum Beispiel:
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=3Dabei sind BOOTSTRAP_SERVERS und PASSWORD die Werte von der Event Streams-Registerkarte Serviceberechtigungsnachweise in IBM Cloud.
d. Starten Sie den „ ksqlDB “-Server mit dem folgenden Befehl:
./bin/ksql-server-start ./config/ibm-eventstreams.propertiese. Starten Sie die ksqlDB-CLI mit dem folgenden Befehl:
./bin/ksql
Wenn Sie diese Schritte ausgeführt haben, können Sie alle Abfragen ausführen, die im „ ksqlDB “-Schnellstartleitfaden aufgeführt sind.