Event Streams에서 ksqlDB 사용

2세대

Event Streams 와 함께 KSQL을 사용하여 스트림 처리를 수행할 수 있습니다.

ksqlDB 이 데이터베이스는 이벤트 스트리밍을 위해 특별히 설계된 것입니다. Apache Kafka 용으로 특별히 설계된 스트림 처리 데이터베이스를 활용하여 엔드투엔드 이벤트 스트리밍 애플리케이션을 신속하게 구축할 수 있습니다.

Event Streams에서 ksqlDB를 실행하는 가장 빠르고 쉬운 방법은 ksqlDB Quickstart에 설명된 대로 Docker 컨테이너를 사용하는 것입니다.

ksqlDB 는 ‘ retention.ms ’ 설정이 무제한인 토픽을 생성해야 하므로, Enterprise 요금제에서는 ksqlDB 만 사용할 수 있습니다.

설정을 완료하려면 다음 단계를 따르세요. 설정이 완료되면 ‘ ksqlDB 빠른 시작 가이드’에 나열된 모든 쿼리를 실행할 수 있습니다.

  1. IBM Cloud 콘솔에서 Event Streams 대시보드를 사용하여 단일 파티션 및 기본 보유 기간이 있는 _confluent-ksql-default__command_topic 토픽을 작성하십시오.

  2. Docker 컨테이너에서 ksqlDB를 실행할 경우 다음 단계를 수행하십시오.

    a. 다음 컨텐츠를 사용하여 docker-compose.yml 파일을 작성하십시오.

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

    여기서 BOOTSTRAP_SERVERS 및 PASSWORD는 Event Streams의 IBM Cloud 서비스 인증 정보 탭에 있는 값입니다.

    b. 파일을 생성한 디렉터리에서 다음 명령을 실행하여 ksqlDB 서버를 시작하십시오.

    docker-compose up
    

    c. 다음 명령을 실행하여 ksqlDB 서버에 연결하고 대화식 명령행 인터페이스(CLI) 세션을 시작하십시오.

    docker exec -it ksqldb-cli ksql http://ksqldb-server:8088
    
  3. Docker 컨테이너에서 ksqlDB를 실행 중이 아니면 다음 단계를 수행하십시오.

    a. ksqlDB 저장소를 복제하십시오.

    git clone https://github.com/confluentinc/ksql
    

    b. ksqlDB 디렉토리로 이동하여 코드를 컴파일하십시오.

    cd ksql
    mvn clean install -Dmaven.test.skip=true
    

    c. Event Streams ksqlDB 구성 파일을 작성하십시오.

    예를 들어, 다음과 같습니다.

    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=3
    

    여기서 BOOTSTRAP_SERVERS 및 PASSWORD는 Event Streams의 IBM Cloud 서비스 인증 정보 탭에 있는 값입니다.

    d. 다음 명령어를 사용하여 ksqlDB 서버를 시작하십시오:

    ./bin/ksql-server-start ./config/ibm-eventstreams.properties
    

    e. 다음 명령어를 사용하여 ksqlDB CLI를 실행하십시오:

    ./bin/ksql
    

이 단계를 완료하면 ‘ ksqlDB 빠른 시작 가이드’ 에 나열된 모든 쿼리를 실행할 수 있습니다.