상세 컨텐츠

본문 제목

Kafka Connect Plugin 설치하기

Data Engineer

by 데이터 개발자 2024. 9. 19. 14:44

본문

Kakfa Connect를 사용하면서 다양한 Plugin을 사용할 수 있다.

cutom한 plugin 들은 Connectors, Transformaers, Converters 등 다양하게 활용이 가능하다.

 

각각의 Plugin 들은 독립적인 Jar 파일로 Plugin 끼리 서로 영향을 받지 않게됩니다.

 

Kafka Connect가 동작할때 설정해준 plugin path 에서 정의 된 plugins 들을 사용하게 된다.

아래 설정을 통해서 plugin path를 지정할 수 있다.

 

해당 설정은 Worker를 동작할때 properties file로 지정이 가능하다.

plugin.path=/usr/local/share/kafka/plugins

 

 

이전 포스팅에서 AWS EC2 인스턴스에 Kafka Cluster를 구축해봤던 포스팅이 있다.

 

https://jrograming.tistory.com/24

 

AWS EC2 인스턴스에 Kafka Cluster 구축하기

카프카 클러스터를 EC2 인스턴스에 구축해봤다.    Confluent에서 제공하는 ansible playbook을 사용하면 정말 쉽게 구축이 가능하다.https://github.com/confluentinc/cp-ansible GitHub - confluentinc/cp-ansible: Ansible p

jrograming.tistory.com

 

이때 Kafka Connect 도 설치를 했었는데 이때 설정값을 통해 바로 plugin path 지정이 가능하다

 

 

 

실제 Custom Plugin을 설치해서 경로를 변경하여 Kafka Connect 를 동작시켜봤다.

아래 2개의 Custom Plugin을 설치해봤다.

  • mongodb/mongo-kafka
  • debezium-connector-mongodb

https://github.com/mongodb/mongo-kafka

https://debezium.io/documentation/reference/stable/install.html#_installing_a_debezium_connector

 

아래와 같이 설정값을 넣어주고 Kafka connect를 설치한다.

 

debezium은 tar 파일이 다운되어 압축해제한 폴더를 새로운 plugin 경로(/my/connectors/dir)을 생성해 옮겨줬다.

 

 

실제 kafka connect가 설치되어 있는 인스턴스에가서 아래 명령어를 통해 확인이 가능하다.

 

# 설정 값
$ sudo cat /etc/kafka/connect-distributed.propertie

# 설치 된 custom plugin 을 확인 가능하다
$ sudo ls /usr/share/java/connect_plugins
$ sudo ls /my/connectors/dir

 

실제 인스턴스를 확인해보면 아래와 같이 Custom Connector들이 생성된 것을 확인할 수 있다.

 

Kafka Connect UI로 확인

 

'Data Engineer' 카테고리의 다른 글

Iceberg 란 무엇인가?  (3) 2024.12.15
Kafka Connect 공부하기 (1)  (0) 2024.09.18
AWS EC2 인스턴스에 Kafka Cluster 구축하기  (2) 2024.09.13
Data Warehouse, Data Lake, Data Lakehouse  (1) 2024.08.16

관련글 더보기