Kafka 및 ClickHouse와 함께 Vector 사용하기
라이선스
connection 세부 정보를 확인합니다
ClickHouse Cloud 서비스의 연결 정보는 ClickHouse Cloud 콘솔에서 확인할 수 있습니다.
서비스를 선택한 다음 Connect를 클릭하십시오.

curl 명령으로 표시됩니다.

단계
- Kafka
github토픽을 생성한 다음 Github 데이터셋을 적재합니다.
ClickHouse/ClickHouse 리포지토리를 중심으로 한 200,000개 행으로 이루어져 있습니다.
- 대상 테이블(target table)이 생성되었는지 확인하세요. 아래에서는 기본 데이터베이스를 사용합니다.
- Vector를 다운로드하여 설치합니다.
kafka.toml설정 파일을 만들고 Kafka 및 ClickHouse 인스턴스에 맞게 값을 수정합니다.
- 이 예시는 Confluent Cloud를 기준으로 테스트되었습니다. 따라서
sasl.*및ssl.enabled보안 옵션은 자가 관리형 환경에는 적합하지 않을 수 있습니다. - 구성 매개변수
bootstrap_servers에는 프로토콜 접두사가 필요하지 않습니다. 예:pkc-2396y.us-east-1.aws.confluent.cloud:9092 - 소스 매개변수
decoding.codec = "json"은 메시지가 단일 JSON 객체로 ClickHouse 싱크에 전달되도록 합니다. 메시지를String으로 처리하고 기본값인bytes를 사용하는 경우에는 메시지 내용이message필드에 추가됩니다. 대부분의 경우 이는 Vector 시작하기 가이드에 설명된 대로 ClickHouse에서 처리해야 합니다. - Vector는 메시지에 여러 필드를 추가합니다. 이 예시에서는 구성 매개변수
skip_unknown_fields = true를 사용해 ClickHouse 싱크에서 이러한 필드를 무시합니다. 이렇게 하면 대상 테이블 스키마에 포함되지 않은 필드가 무시됩니다. 필요에 따라 스키마를 조정하여offset과 같은 메타 필드가 포함되도록 하십시오. inputs매개변수를 통해 싱크가 이벤트 소스를 참조하는 방식에 유의하십시오.- 여기에 설명된 ClickHouse 싱크의 동작에 유의하십시오. 최적의 처리량을 위해
buffer.max_events,batch.timeout_secs,batch.max_bytes매개변수를 조정하는 것이 좋습니다. ClickHouse 권장 사항에 따르면 단일 batch의 이벤트 수는 최소 1000개로 설정하는 것이 좋습니다. 일정한 고처리량 사용 사례에서는buffer.max_events매개변수를 늘릴 수 있습니다. 처리량 변동이 큰 경우에는batch.timeout_secs매개변수를 조정해야 할 수 있습니다. - 매개변수
auto_offset_reset = "smallest"는 Kafka 소스가 토픽의 처음부터 시작하도록 강제하므로 단계 (1)에서 게시한 메시지를 소비하게 됩니다. 필요한 동작은 다를 수 있습니다. 자세한 내용은 여기를 참조하십시오.
- Vector 시작
VECTOR_LOG=debug를 앞에 붙이십시오.
- 데이터가 삽입되었는지 확인합니다.