Utilización de ksqlDB con Event Streams
Puede utilizar KSQL con Event Streams para el proceso de secuencias.
ksqlDB es una base de datos creada específicamente para la modalidad continua de sucesos. Utilícelo para crear aplicaciones de streaming de sucesos de extremo a extremo rápidamente con una base de datos de proceso de secuencias creada 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.
Puesto que ksqlDB necesita crear un tema con un valor retention.ms
ilimitado, solo puede utilizar ksqlDB con el plan Enterprise.
Complete los pasos siguientes para obtener la configuración. Una vez finalizada, puede ejecutar todas las consultas que se listan en la publicación ksqlDB Guía de inicio rápido.
-
Utilice el panel de control de Event Streams en la consola de IBM Cloud para crear un tema denominado
_confluent-ksql-default__command_topic
con 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.yml
con 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: true
donde 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 ha creado el archivo, ejecute el mandato siguiente para iniciar el servidor ksqlDB.
docker-compose up
c. 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/ksql
b. Vaya al directorio de ksqlDB y compile el código.
cd ksql mvn clean install -Dmaven.test.skip=true
c. 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 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
donde BOOTSTRAP_SERVERS y PASSWORD son los valores del separador Credenciales de servicio de Event Streams en IBM Cloud.
d. Inicie el servidor ksqlDB utilizando el mandato siguiente:
./bin/ksql-server-start ./config/ibm-eventstreams.properties
e. Inicie la CLI de ksqlDB utilizando el mandato siguiente:
./bin/ksql
Cuando complete estos pasos, puede ejecutar todas las consultas que se listan en la ksqlDB Guía de inicio rápido.