Utilizzo di ksqlDB con Event Streams
Gen 2
È possibile utilizzare KSQL con Event Streams per l'elaborazione dei flussi.
ksqlDB è un database appositamente progettato per lo streaming di eventi. Utilizzalo per sviluppare rapidamente applicazioni di streaming di eventi end-to-end grazie a un database di elaborazione dello streaming appositamente progettato per l' Apache Kafka.
Il modo più veloce e semplice per eseguire ksqlDB con Event Streams è utilizzare un container Docker, come descritto nella guida introduttiva disponibile all'indirizzo ksqlDB.
Poiché ksqlDB richiede la creazione di un argomento con un'impostazione illimitata per " retention.ms ", è possibile utilizzare solo ksqlDB con il piano Enterprise.
Segui questi passaggi per configurare il sistema. Una volta completata l'operazione, potrai eseguire tutte le query elencate nella Guida rapida di ksqlDB.
-
Utilizza la dashboard " Event Streams " nella console " IBM Cloud " per creare un argomento denominato "
_confluent-ksql-default__command_topic" con una singola partizione e il periodo di conservazione predefinito. -
Se desideri eseguire ksqlDB in un container Docker, segui questi passaggi:
a. Crea un file denominat
docker-compose.yml" con il seguente contenuto:--- 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: trueDove BOOTSTRAP_SERVERS e PASSWORD sono i valori riportati nella scheda " Credenziali di servizio " di Event Streams all'indirizzo IBM Cloud.
b. Dalla cartella in cui hai creato il file, esegui il seguente comando per avviare un server ksqlDB.
docker-compose upc. Eseguire il seguente comando per connettersi al server ksqlDB e avviare una sessione interattiva dell'interfaccia a riga di comando (CLI).
docker exec -it ksqldb-cli ksql http://ksqldb-server:8088 -
Se non stai eseguendo ksqlDB in un container Docker, segui questi passaggi:
a. Clona il repository ksqlDB:
git clone https://github.com/confluentinc/ksqlb. Accedi alla directory ksqlDB e compila il codice.
cd ksql mvn clean install -Dmaven.test.skip=truec. Creare un file di configurazione Event Streams ksqlDB.
Ad esempio:
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=3Dove BOOTSTRAP_SERVERS e PASSWORD sono i valori riportati nella scheda " Credenziali di servizio " di Event Streams all'indirizzo IBM Cloud.
d. Avvia il server " ksqlDB " utilizzando il seguente comando:
./bin/ksql-server-start ./config/ibm-eventstreams.propertiese. Avvia la CLI di ksqlDB utilizzando il seguente comando:
./bin/ksql
Una volta completati questi passaggi, potrai eseguire tutte le query elencate nella Guida rapida di ksqlDB.