Event Streams와 함께 Kafka Connect 사용

Kafka Connect는 Apache Kafka 프로젝트의 일부이며 외부 시스템을 Kafka에 연결할 수 있도록 합니다. 클러스터에 데이터를 복사하기 위해 커넥터를 실행할 수 있는 런타임으로 구성됩니다. 기본 특성은 다음과 같습니다.

  • 확장성: 단일 작업자에서 많은 작업자로 쉽게 확장할 수 있습니다.
  • 안정성: 자동으로 오프셋 및 커넥터의 수명 주기를 관리합니다.
  • 확장성: 커뮤니티가 가장 인기 있는 시스템에 대한 커넥터를 빌드했습니다. IBM® 에는 MQCloud Object Storage 용 커넥터가 있습니다.

Kafka Connect with IBM® Event Streams for IBM Cloud® 을 사용할 수 있으며 IBM Cloud®내부 또는 외부에서 작업자를 실행할 수 있습니다. IBM 에는 IBM 또는 커뮤니티에서 지원하는 50개가 넘는 광범위한 커넥터 목록이 있습니다. 이러한 커넥터는 커넥터 카탈로그 에 있습니다.

Kafka Connect는 독립형 또는 분산 모드로 실행될 수 있습니다. 독립형 모드는 테스트 및 시스템 간의 임시 연결에 사용됩니다. 분산 모드는 프로덕션 사용에 좀 더 적합합니다. 이러한 두 개의 모드로 Event Streams를 사용하는 데 필요한 구성은 약간 다릅니다.

독립형 작업자 구성

독립형 작업자는 내부 토픽을 사용하지 않습니다. 대신, 오프셋 정보를 저장하기 위해 파일을 사용합니다.

Kafka Connect 독립형 작업자를 시작할 때 제공하는 작업자 특성 파일에 부트스트랩 서버 및 SASL 인증 정보를 제공해야 합니다. 다음 예제는 특성 파일에 제공해야 하는 특성을 나열합니다.

    bootstrap.servers=BOOTSTRAP_ENDPOINTS
    sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
    security.protocol=SASL_SSL
    sasl.mechanism=PLAIN
    ssl.protocol=TLSv1.2
    ssl.enabled.protocols=TLSv1.2
    ssl.endpoint.identification.algorithm=HTTPS

BOOTSTRAP_ENDPOINTS, USER 및 PASSWORD를 Event Streams 값으로 바꿉니다 서비스 자격증명 탭의 IBM Cloud 콘솔에 있는 값으로 바꿉니다.

소스 커넥터

다음 예제는 특성 파일에 제공해야 하는 특성을 나열합니다.

    bootstrap.servers=BOOTSTRAP_ENDPOINTS
    producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
    producer.security.protocol=SASL_SSL
    producer.sasl.mechanism=PLAIN
    producer.ssl.protocol=TLSv1.2
    producer.ssl.enabled.protocols=TLSv1.2
    producer.ssl.endpoint.identification.algorithm=HTTPS

BOOTSTRAP_ENDPOINTS, USER 및 PASSWORD를 Event Streams 값으로 바꿉니다 서비스 자격증명 탭의 IBM Cloud 콘솔에 있는 값으로 바꿉니다.

싱크 커넥터

다음 예제는 특성 파일에 제공해야 하는 특성을 나열합니다.

    bootstrap.servers=BOOTSTRAP_ENDPOINTS
    consumer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
    consumer.security.protocol=SASL_SSL
    consumer.sasl.mechanism=PLAIN
    consumer.ssl.protocol=TLSv1.2
    consumer.ssl.enabled.protocols=TLSv1.2
    consumer.ssl.endpoint.identification.algorithm=HTTPS

BOOTSTRAP_ENDPOINTS, USER 및 PASSWORD를 Event Streams 값으로 바꿉니다 서비스 자격증명 탭의 IBM Cloud 콘솔에 있는 값으로 바꿉니다.

분산 작업자 구성

Kafka Connect 분산 작업자를 시작할 때 제공하는 구성 파일에 부트스트랩 서버 및 SASL 인증 정보를 제공해야 합니다. 다음 예제는 특성 파일에 제공해야 하는 특성을 나열합니다.

    bootstrap.servers=BOOTSTRAP_ENDPOINTS
    sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
    security.protocol=SASL_SSL
    sasl.mechanism=PLAIN
    ssl.protocol=TLSv1.2
    ssl.enabled.protocols=TLSv1.2
    ssl.endpoint.identification.algorithm=HTTPS

BOOTSTRAP_ENDPOINTS, USER 및 PASSWORD를 Event Streams 값으로 바꿉니다 서비스 자격증명 탭의 IBM Cloud 콘솔에 있는 값으로 바꿉니다.

소스 커넥터를 사용하려는 경우에는 다음과 같이 생성자를 위한 SSL 및 SASL 구성도 지정해야 합니다.

    producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
    producer.security.protocol=SASL_SSL
    producer.sasl.mechanism=PLAIN
    producer.ssl.protocol=TLSv1.2
    producer.ssl.enabled.protocols=TLSv1.2
    producer.ssl.endpoint.identification.algorithm=HTTPS

싱크 커넥터를 사용할 경우 다음과 같이 고객을 위한 SSL 및 SASL 구성도 지정해야 합니다.

    consumer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
    consumer.security.protocol=SASL_SSL
    consumer.sasl.mechanism=PLAIN
    consumer.ssl.protocol=TLSv1.2
    consumer.ssl.enabled.protocols=TLSv1.2
    consumer.ssl.endpoint.identification.algorithm=HTTPS

또한, 분산 모드의 Kafka Connect는 내부적으로 세 개의 토픽을 사용합니다. 이러한 토픽은 Apache Kafka 버전 0.11 이상에서 Kafka Connect를 사용하는 경우 작업자 시작 시에 자동으로 작성됩니다. 구성 매개변수로 토픽의 이름을 제공합니다. 동일한 group.id 구성 값을 갖는 모든 작업자에 대해 값이 동일한지 확인하십시오.

Kafka 커넥트의 주제
구성 설명
offset.storage.topic 커넥터 오프셋 토픽
offset.storage.partitions 커넥터 오프셋 토픽의 파티션 수(기본값: 25)
config.storage.topic 커넥터 구성 토픽
status.storage.topic 커넥터 상태 토픽
status.storage.partitions 커넥터 상태 토픽의 파티션 수(기본값: 5)

예를 들어, 특성 파일에서 다음 키-값 쌍을 사용할 수 있습니다.

    offset.storage.topic=connect-offsets
    config.storage.topic=connect-configs
    status.storage.topic=connect-status

Kafka Connect를 많이 사용하지 않는 경우에는 파티션 수를 줄이는 것을 고려하십시오.

Kafka Connect에 대한 자세한 정보는 Kafka Connect 개요를 참조하십시오.