Utilización de ksqlDB con Event Streams
Gen 2
Puedes utilizar KSQL junto con Event Streams para el procesamiento de flujos.
ksqlDB es una base de datos diseñada específicamente para la transmisión de eventos. Úsalo para crear rápidamente aplicaciones de transmisión de eventos de extremo a extremo con una base de datos de procesamiento de flujos diseñada específicamente para Apache Kafka.
La forma más rápida y fácil de ejecutar ksqlDB con Event Streams es utilizar un contenedor de docker, como se describe en ksqlDB quickstart.
Dado que ksqlDB necesita crear un tema con una configuración de retention.ms ilimitada, solo puedes utilizar ksqlDB con el plan Enterprise.
Sigue estos pasos para configurar el sistema. Una vez completado, podrás ejecutar todas las consultas que aparecen en la Guía de inicio rápido de « ksqlDB ».
-
Utilice el panel de control de Event Streams en la consola de IBM Cloud para crear un tema denominado
_confluent-ksql-default__command_topiccon una sola partición y el periodo de retención predeterminado. -
Si desea ejecutar ksqlDB en el contenedor de docker, siga estos pasos:
a. Cree el archivo
docker-compose.ymlcon el contenido siguiente:--- 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: truedonde BOOTSTRAP_SERVERS y PASSWORD son los valores del separador Credenciales de servicio de Event Streams en IBM Cloud.
b. Desde el directorio en el que has creado el archivo, ejecuta el siguiente comando para iniciar un servidor de « ksqlDB ».
docker-compose upc. Ejecute el siguiente mandato para conectarse al servidor ksqlDB e iniciar una sesión de interfaz de línea de mandatos (CLI) interactiva.
docker exec -it ksqldb-cli ksql http://ksqldb-server:8088 -
Si no está ejecutando ksqlDB en el contenedor de docker, siga estos pasos:
a. Clone el repositorio de ksqlDB:
git clone https://github.com/confluentinc/ksqlb. Vaya al directorio de ksqlDB y compile el código.
cd ksql mvn clean install -Dmaven.test.skip=truec. Cree un archivo de configuración de ksqlDB de Event Streams.
Por ejemplo:
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=3donde BOOTSTRAP_SERVERS y PASSWORD son los valores del separador Credenciales de servicio de Event Streams en IBM Cloud.
d. Inicia el servidor « ksqlDB » con el siguiente comando :
./bin/ksql-server-start ./config/ibm-eventstreams.propertiese. Inicia la CLI de « ksqlDB » con el siguiente comando :
./bin/ksql
Una vez completados estos pasos, podrás ejecutar todas las consultas que aparecen en la Guía de inicio rápido de « ksqlDB ».