IBM Cloud Docs
Utilización de ksqlDB con Event Streams

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.

  1. 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.

  2. 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
    
  3. 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.