8장. Kafka Connect
Kafka Connect는 Apache Kafka와 외부 시스템 간에 데이터를 스트리밍하는 툴입니다. 확장성 및 안정성을 유지하면서 대량의 데이터를 이동하기 위한 프레임워크를 제공합니다. Kafka Connect는 일반적으로 Kafka 클러스터 외부에 있는 데이터베이스, 스토리지 및 메시징 시스템과 Kafka를 통합하는 데 사용됩니다.
Kafka Connect는 다양한 유형의 외부 시스템에 대한 연결을 구현하는 커넥터 플러그인을 사용합니다. 커넥터 플러그인에는 싱크와 source의 두 가지 유형이 있습니다. 싱크 커넥터는 Kafka에서 외부 시스템으로 데이터를 스트리밍합니다. 소스 커넥터는 외부 시스템에서 Kafka로 데이터를 스트리밍합니다.
Kafka Connect는 독립 실행형 또는 분산 모드로 실행할 수 있습니다.
- 독립 실행형 모드
- 독립 실행형 모드에서 Kafka Connect는 속성 파일에서 읽은 사용자 정의 구성이 있는 단일 노드에서 실행됩니다.
- 분산 모드
- 분산 모드에서 Kafka Connect는 하나 이상의 작업자 노드에서 실행되며 워크로드가 그 사이에 배포됩니다. HTTP REST 인터페이스를 사용하여 커넥터와 해당 구성을 관리합니다.
8.1. 독립 실행형 모드에서 Kafka 연결 링크 복사링크가 클립보드에 복사되었습니다!
독립 실행형 모드에서 Kafka Connect는 단일 노드에서 단일 프로세스로 실행됩니다. 속성 파일을 사용하여 독립 실행형 모드의 구성을 관리합니다.
8.1.1. 독립 실행형 모드에서 Kafka 연결 구성 링크 복사링크가 클립보드에 복사되었습니다!
독립 실행형 모드에서 Kafka Connect를 구성하려면 config/connect-standalone.properties 구성 파일을 편집합니다. 다음 옵션이 가장 중요합니다.
bootstrap.servers-
Kafka에 대한 부트스트랩 연결로 사용되는 Kafka 브로커 주소 목록입니다. 예를 들어
kafka0.my-domain.com:9092,kafka1.my-domain.com:9092,kafka2.my-domain.com:9092. key.converter-
메시지 키를 Kafka 형식으로 변환하거나 Kafka 형식으로 변환하는 데 사용되는 클래스입니다. 예를 들어
org.apache.kafka.connect.json.JsonConverter. value.converter-
Kafka 형식으로 메시지 페이로드를 변환하는 데 사용되는 클래스입니다. 예를 들어
org.apache.kafka.connect.json.JsonConverter. offset.storage.file.filename- 오프셋 데이터가 저장되는 파일을 지정합니다.
구성 파일의 예는 config/connect-standalone.properties 의 설치 디렉터리에 제공됩니다. 지원되는 모든 Kafka Connect 구성 옵션의 전체 목록은 [kafka-connect-configuration-parameters-str]을 참조하십시오.
Connector 플러그인은 부트스트랩 주소를 사용하여 Kafka 브로커에 대한 오픈 클라이언트 연결을 제공합니다. 이러한 연결을 구성하려면 생산자 또는 소비자 접두사가 붙은 표준 Kafka 생산자 및 소비자 구성 옵션을 사용합니다.
Kafka 생산자 및 소비자 구성에 대한 자세한 내용은 다음을 참조하십시오.
8.1.2. 독립 실행형 모드에서 Kafka Connect에서 커넥터 구성 링크 복사링크가 클립보드에 복사되었습니다!
속성 파일을 사용하여 독립 실행형 모드에서 Kafka Connect에 대한 커넥터 플러그인을 구성할 수 있습니다. 대부분의 구성 옵션은 각 커넥터에 따라 다릅니다. 다음 옵션은 모든 커넥터에 적용됩니다.
name- 현재 Kafka Connect 인스턴스 내에서 고유해야 하는 커넥터의 이름입니다.
connector.class-
커넥터 플러그인의 클래스입니다. 예를 들어
org.apache.kafka.connect.file.FileStreamSinkConnector. tasks.max- 지정된 커넥터가 사용할 수 있는 최대 작업 수입니다. 작업을 사용하면 커넥터가 병렬로 작업을 수행할 수 있습니다. 커넥터는 지정된 것보다 적은 작업을 생성할 수 있습니다.
key.converter-
메시지 키를 Kafka 형식으로 변환하거나 Kafka 형식으로 변환하는 데 사용되는 클래스입니다. 이렇게 하면 Kafka Connect 구성에 의해 설정된 기본값이 재정의됩니다. 예를 들어
org.apache.kafka.connect.json.JsonConverter. value.converter-
Kafka 형식으로 메시지 페이로드를 변환하는 데 사용되는 클래스입니다. 이렇게 하면 Kafka Connect 구성에 의해 설정된 기본값이 재정의됩니다. 예를 들어
org.apache.kafka.connect.json.JsonConverter.
또한 싱크 커넥터에 대해 다음 옵션 중 하나 이상을 설정해야 합니다.
주제- 입력으로 사용되는 쉼표로 구분된 주제 목록입니다.
topics.regex- 입력으로 사용되는 주제의 Java 정규식입니다.
기타 모든 옵션은 사용 가능한 커넥터에 대한 설명서를 참조하십시오.
AMQ Streams에는 커넥터 구성 파일 예제가 포함되어 있습니다. AMQ Streams 설치 디렉터리의 config/connect-file-sink.properties 및 config/connect-file-source.properties 를 참조하십시오.
8.1.3. 독립 실행형 모드에서 Kafka 연결 실행 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 독립 실행형 모드에서 Kafka Connect를 구성하고 실행하는 방법을 설명합니다.
사전 요구 사항
- 설치되어 실행 중인 AMQ Streams} 클러스터입니다.
프로세스
/opt/kafka/config/connect-standalone.propertiesKafka Connect 구성 파일을 편집하고 Kafka 브로커를 가리키도록bootstrap.server를 설정합니다. 예를 들면 다음과 같습니다.bootstrap.servers=kafka0.my-domain.com:9092,kafka1.my-domain.com:9092,kafka2.my-domain.com:9092
bootstrap.servers=kafka0.my-domain.com:9092,kafka1.my-domain.com:9092,kafka2.my-domain.com:9092Copy to Clipboard Copied! Toggle word wrap Toggle overflow 구성 파일로 Kafka Connect를 시작하고 하나 이상의 커넥터 구성을 지정합니다.
su - kafka /opt/kafka/bin/connect-standalone.sh /opt/kafka/config/connect-standalone.properties connector1.properties [connector2.properties ...]
su - kafka /opt/kafka/bin/connect-standalone.sh /opt/kafka/config/connect-standalone.properties connector1.properties [connector2.properties ...]Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka Connect가 실행 중인지 확인합니다.
jcmd | grep ConnectStandalone
jcmd | grep ConnectStandaloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 리소스
- AMQ Streams 설치에 대한 자세한 내용은 2.3절. “AMQ Streams 설치” 을 참조하십시오.
- AMQ Streams 구성에 대한 자세한 내용은 2.8절. “AMQ Streams 구성” 을 참조하십시오.
- 지원되는 Kafka Connect 구성 옵션의 전체 목록은 부록 F. Kafka Connect 구성 매개변수 을 참조하십시오.