Event Streams에서 ksqlDB 사용
2세대
Event Streams 와 함께 KSQL을 사용하여 스트림 처리를 수행할 수 있습니다.
ksqlDB 이 데이터베이스는 이벤트 스트리밍을 위해 특별히 설계된 것입니다. Apache Kafka 용으로 특별히 설계된 스트림 처리 데이터베이스를 활용하여 엔드투엔드 이벤트 스트리밍 애플리케이션을 신속하게 구축할 수 있습니다.
Event Streams에서 ksqlDB를 실행하는 가장 빠르고 쉬운 방법은 ksqlDB Quickstart에 설명된 대로 Docker 컨테이너를 사용하는 것입니다.
ksqlDB 는 ‘ retention.ms ’ 설정이 무제한인 토픽을 생성해야 하므로, Enterprise 요금제에서는 ksqlDB 만 사용할 수 있습니다.
설정을 완료하려면 다음 단계를 따르세요. 설정이 완료되면 ‘ ksqlDB 빠른 시작 가이드’에 나열된 모든 쿼리를 실행할 수 있습니다.
-
IBM Cloud 콘솔에서 Event Streams 대시보드를 사용하여 단일 파티션 및 기본 보유 기간이 있는
_confluent-ksql-default__command_topic토픽을 작성하십시오. -
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 upc. 다음 명령을 실행하여 ksqlDB 서버에 연결하고 대화식 명령행 인터페이스(CLI) 세션을 시작하십시오.
docker exec -it ksqldb-cli ksql http://ksqldb-server:8088 -
Docker 컨테이너에서 ksqlDB를 실행 중이 아니면 다음 단계를 수행하십시오.
a. ksqlDB 저장소를 복제하십시오.
git clone https://github.com/confluentinc/ksqlb. ksqlDB 디렉토리로 이동하여 코드를 컴파일하십시오.
cd ksql mvn clean install -Dmaven.test.skip=truec. 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.propertiese. 다음 명령어를 사용하여 ksqlDB CLI를 실행하십시오:
./bin/ksql
이 단계를 완료하면 ‘ ksqlDB 빠른 시작 가이드’ 에 나열된 모든 쿼리를 실행할 수 있습니다.