8.2. 분산 모드에서 Kafka 연결 사용
분산 모드에서 Kafka Connect는 작업자 프로세스의 클러스터로 실행되며 각 작업자는 별도의 노드에서 실행됩니다. 커넥터는 클러스터의 모든 작업자에서 실행할 수 있으므로 확장성 및 내결함성을 향상시킬 수 있습니다. 커넥터는 작업자가 관리하며 작업을 분배하고 지정된 시간에 각 커넥터가 단일 노드에서 실행되도록 합니다.
8.2.1. 분산 모드에서 Kafka 연결 구성
Kafka Connect를 분산 모드로 구성하려면 config/connect-distributed.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
. group.id
-
분산 Kafka Connect 클러스터의 이름입니다. 이는 고유해야 하며 다른 소비자 그룹 ID와 충돌해서는 안 됩니다. 기본값은
connect-cluster
입니다. config.storage.topic
-
커넥터 구성을 저장하는 데 사용되는 Kafka 주제입니다. 기본값은
connect-configs
입니다. offset.storage.topic
-
오프셋을 저장하는 데 사용되는 Kafka 주제입니다. 기본값은
connect-offset
입니다. status.storage.topic
-
작업자 노드 상태에 사용되는 Kafka 주제입니다. 기본값은
connect-status
입니다.
Apache Kafka의 스트림에는 분산 모드에서 Kafka Connect의 구성 파일이 포함되어 있습니다. Apache Kafka 설치 디렉터리의 Streams에서 config/connect-distributed.properties
를 참조하십시오.
Connector 플러그인은 부트스트랩 주소를 사용하여 Kafka 브로커에 대한 클라이언트 연결을 엽니다. 이러한 연결을 구성하려면 생산자 또는 소비자 접두사가 붙은 표준 Kafka 생산자
및 소비자 구성 옵션을 사용합니다.
8.2.2. 분산 모드에서 Kafka 연결 실행
분산 모드에서 Kafka 연결을 구성하고 실행합니다.
사전 요구 사항
- Apache Kafka의 스트림 은 각 호스트에 설치되고 구성 파일을 사용할 수 있습니다.
클러스터 실행
모든 Kafka Connect 작업자 노드에서
/opt/kafka/config/connect-distributed.properties
Kafka Connect 구성 파일을 편집합니다.-
Kafka 브로커를 가리키도록
bootstrap.server
옵션을 설정합니다. -
group.id
옵션을 설정합니다. -
config.storage.topic
옵션을 설정합니다. -
offset.storage.topic
옵션을 설정합니다. status.storage.topic
옵션을 설정합니다.예를 들면 다음과 같습니다.
bootstrap.servers=kafka0.my-domain.com:9092,kafka1.my-domain.com:9092,kafka2.my-domain.com:9092 group.id=my-group-id config.storage.topic=my-group-id-configs offset.storage.topic=my-group-id-offsets status.storage.topic=my-group-id-status
-
Kafka 브로커를 가리키도록
모든 Kafka Connect 노드에서
/opt/kafka/config/connect-distributed.properties
구성 파일을 사용하여 Kafka Connect 작업자를 시작합니다.su - kafka /opt/kafka/bin/connect-distributed.sh /opt/kafka/config/connect-distributed.properties
Kafka Connect가 실행 중인지 확인합니다.
jcmd | grep ConnectDistributed
- Kafka Connect REST API를 사용하여 커넥터를 관리합니다.