kafka

[kafka] Apache Kafka 사용법(JDBC Connector 사용을 위한 드라이버 설정)

nan2 2023. 10. 31. 14:09
반응형

 

Kafka 기동 순서

Zookeeper → Kafka-Server → Kafka-Connect 순으로 기동한다.

 

Broker: Kafka 어플리케이션 서버, 보통 3대 이상의 브로커 클러스터로 구성하는것을 권장함.

Zookeeper: N개의 Broker 중 1대는 Controller 역할을 수행하는데 각 Broker에 담당 파티션 할당하고, Broker의 정상 동작을 모니터링하여 관리한다.

 

 

Kafka 폴더

Kafka 설치 후 폴더안에 /config 폴더가 kafka-server와 zookeeper 설정파일 등이 존재하는 폴더이다.

/bin 폴더는 kafka-server, zookeeper 의 start / stop, 토픽 생성 등 명령어 .sh 파일이 존재하는 폴더이다.

 

Kafka 명령어

// Zookeeper 기동
{kafka_home}/bin/zookeeper-server-start.sh {kafka_home}/config/zookeeper.properties

// Kafka-server 기동
{kafka_home}/bin/kafka-server-start.sh {kafka_home}/config/server.properties

// Kafka-connect 기동
{kafka_home}/bin/connect-distributed {kafka-connect_home}/etc/kafka/connect-distributed.properties

// 토픽 생성
{kafka_home}/bin/kafka-topics.sh —create —topic {{topic name}} —bootstrap-server localhost:9092 —partitions 1

// 토픽 목록 조회
{kafka_home}/bin/kafka-topics.sh —bootstrap-server localhost:9092 —list

9092 는 kafka-server 기본 포트이다.

혹시 사용중이라면 설정파일에서 변경해주면 된다!

파일 위치: {kafka_home}/config/server.properties

*** 이후 명령어 칠 때도 9092가 아닌 바꾼 포트번호를 입력해줘야한다.

 

 

Kafka-Connect JDBC-Connector 드라이버 설정 방법

Kafka-connect 에서 관계형 데이터베이스를 사용하기 위하여!

 

1. Jdbc Connector 설치

 

JDBC Connector (Source and Sink)

Confluent, founded by the original creators of Apache Kafka®, delivers a complete execution of Kafka for the Enterprise, to help you run your business in real-time.

www.confluent.io

 

2. 설치한 Jdbc Connector를 kafka-connect 설정 파일에 추가해줌

설치된 Jdbc Connector 의 압축을 풀고 해당 폴더에서 confluentinc-kafka-connect-jdbc-10.7.4/lib 하위에 존재하는 kafka-connect-jdbc-10.7.4.jar 파일을 추가해야 한다.

 

설정파일 위치: /kafka_2.13-3.6.0/config/connect-distributed.properties

/confluent-6.1.0/etc/kafka/connect-distributed.properties

(2 같은 파일이기 때문에 어떤걸 써도 상관 없음)

 

설정파일에 ‘plugin.path=/Users/refine/IdeaProjects/test/confluentinc-kafka-connect-jdbc-10.7.4/lib’ 추가

*** plugin.path=/usr/share/java 는 주석처리하고 아래에 추가하여 사용

 

3. JdbcSourceConnector 에서 MariaDB를 사용하기 위해 MariaDB 드라이버(.jar)를 추가해준다.

드라이버 추가해줄 폴더 위치: /confluent-6.1.0/share/java/kafka/

MariaDB 드라이버 위치: /Users/.gradle/caches/modules-2/files-2.1/org.mariadb.jdbc/mariadb-java-client/3.0.9/8ebaa10da718ca9893e3c45e21951105cd6bfafb/mariadb-java-client-3.0.9.jar 

 

 

반응형