Utilisation de ksqlDB avec Event Streams
Génération 2
Vous pouvez utiliser KSQL avec Event Streams pour le traitement des flux.
ksqlDB est une base de données spécialement conçue pour la diffusion en continu d'événements. Utilisez-le pour développer rapidement des applications de streaming d'événements de bout en bout grâce à une base de données de traitement de flux spécialement conçue pour Apache Kafka.
Le moyen le plus rapide et le plus simple d'exécuter ksqlDB avec Event Streams est d'utiliser un conteneur Docker comme indiqué dans ksqlDB Quickstart.
Étant donné que ksqlDB doit créer un sujet avec un paramètre « retention.ms » illimité, vous ne pouvez utiliser que ksqlDB avec la formule Enterprise.
Suivez les étapes suivantes pour effectuer la configuration. Une fois cette opération terminée, vous pourrez exécuter toutes les requêtes répertoriées dans le Guide de démarrage rapide d' ksqlDB.
-
Utilisez le tableau de bord Event Streams dans la console IBM Cloud pour créer une rubrique appelée
_confluent-ksql-default__command_topicavec une partition unique et la période de conservation par défaut. -
Si vous souhaitez exécuter ksqlDB dans un conteneur Docker, procédez comme suit :
a. Créez un fichier
docker-compose.ymlavec le contenu suivant :--- 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: trueOù BOOTSTRAP_SERVERS et PASSWORD sont les valeurs provenant de l'onglet Données d'identification pour le service Event Streams dans IBM Cloud.
b. Depuis le répertoire dans lequel vous avez créé le fichier, exécutez la commande suivante pour démarrer le serve ksqlDB.
docker-compose upc. Exécutez la commande suivante pour vous connecter au serveur ksqlDB et démarrer une session d'interface de ligne de commande (CLI) interactive.
docker exec -it ksqldb-cli ksql http://ksqldb-server:8088 -
Si vous n'exécutez pas ksqlDB dans un conteneur Docker, procédez comme suit :
a. Clonez le référentiel ksqlDB :
git clone https://github.com/confluentinc/ksqlb. Accédez au répertoire ksqlDB et compilez le code.
cd ksql mvn clean install -Dmaven.test.skip=truec. Créez un fichier de configuration ksqlDB Event Streams.
Exemple :
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=3Où BOOTSTRAP_SERVERS et PASSWORD sont les valeurs provenant de l'onglet Données d'identification pour le service Event Streams dans IBM Cloud.
d. Démarrez le serveur « ksqlDB » à l'aide de la commande suivante :
./bin/ksql-server-start ./config/ibm-eventstreams.propertiese. Lancez l'interface CLI d' ksqlDB à l'aide de la commande suivante :
./bin/ksql
Une fois ces étapes terminées, vous pourrez exécuter toutes les requêtes répertoriées dans le Guide de démarrage rapide d' ksqlDB.