본문으로 바로가기
본문으로 바로가기

Confluent Platform을 ClickHouse와 통합하기

사전 준비 사항

다음 사항에 익숙하다고 가정합니다.

ClickHouse 공식 Kafka 커넥터(Confluent Platform용)

Confluent Platform에 설치하기

이 섹션은 Confluent Platform에서 ClickHouse Sink Connector를 빠르게 사용하기 시작할 수 있도록 작성된 간단한 가이드입니다. 자세한 내용은 공식 Confluent 문서를 참조하십시오.

토픽 생성

Confluent Platform에서 토픽을 생성하는 것은 비교적 간단합니다. 자세한 내용은 여기에서 확인할 수 있습니다.

중요 사항

  • Kafka 토픽 이름은 ClickHouse 테이블 이름과 동일해야 합니다. 이를 변경하려면 transformer(예: ExtractTopic)를 사용하면 됩니다.
  • 파티션 수가 많다고 해서 항상 성능이 더 좋아지는 것은 아닙니다. 자세한 내용과 성능 팁은 곧 공개될 가이드를 참고하십시오.

커넥터 설치

커넥터는 repository에서 다운로드할 수 있습니다. 의견이나 이슈가 있으면 언제든지 해당 저장소에 등록해 주십시오.

"Connector Plugins" -> "Add plugin"으로 이동한 다음, 아래 설정을 사용하십시오:

'Connector Class' - 'com.clickhouse.kafka.connect.ClickHouseSinkConnector'
'Connector type' - Sink
'Sensitive properties' - 'password'. This will ensure entries of the ClickHouse password are masked during configuration.

예시:

사용자 지정 ClickHouse 커넥터 추가 설정이 표시된 Confluent Platform UI

연결 정보 수집

HTTP(S)로 ClickHouse에 연결하려면 다음 정보가 필요합니다:

Parameter(s)Description
HOST and PORT일반적으로 TLS를 사용할 때는 포트가 8443이고, TLS를 사용하지 않을 때는 8123입니다.
DATABASE NAME기본적으로 default라는 데이터베이스가 있으며, 연결하려는 데이터베이스의 이름을 사용합니다.
USERNAME and PASSWORD기본값으로 사용자 이름은 default입니다. 사용하려는 용도에 적합한 사용자 이름을 사용합니다.

ClickHouse Cloud 서비스에 대한 세부 정보는 ClickHouse Cloud 콘솔에서 확인할 수 있습니다. 서비스를 선택한 다음 Connect를 클릭하십시오:

ClickHouse Cloud 서비스 Connect 버튼

HTTPS를 선택하십시오. 연결 정보는 예제 curl 명령에 표시됩니다.

ClickHouse Cloud HTTPS 연결 정보

자가 관리형 ClickHouse를 사용하는 경우, 연결 정보는 ClickHouse 관리자가 설정합니다.

커넥터 구성

Connectors -> Add Connector로 이동한 후 다음 설정을 사용합니다. (값은 예시일 뿐입니다.)

{
  "database": "<DATABASE_NAME>",
  "errors.retry.timeout": "30",
  "exactlyOnce": "false",
  "schemas.enable": "false",
  "hostname": "<CLICKHOUSE_HOSTNAME>",
  "password": "<SAMPLE_PASSWORD>",
  "port": "8443",
  "ssl": "true",
  "topics": "<TOPIC_NAME>",
  "username": "<SAMPLE_USERNAME>",
  "key.converter": "org.apache.kafka.connect.storage.StringConverter",
  "value.converter": "org.apache.kafka.connect.json.JsonConverter",
  "value.converter.schemas.enable": "false"
}

연결 엔드포인트 지정

커넥터가 접근할 수 있는 엔드포인트 허용 목록을 지정해야 합니다. 네트워크 egress 엔드포인트를 추가할 때는 FQDN(정규화된 도메인 이름)을 사용해야 합니다. 예: u57swl97we.eu-west-1.aws.clickhouse.com:8443

참고

HTTP(S) 포트를 반드시 지정해야 합니다. 커넥터는 아직 Native 프로토콜을 지원하지 않습니다.

문서를 참조하십시오.

이제 모든 준비가 완료되었습니다!

알려진 제한 사항