Kafka/kafka Connect
-
Debezium Connector 실습 환경 구축하기Kafka/kafka Connect 2024. 6. 19. 07:02
본 글에서는 Debezium Connector 의 실습 환경을 세팅하기 위해서 docker-compose.yaml 을 세팅합니다.3개의 Kafka Broker 와 3개의 Kafka Connect Worker 들로 구성된 클러스터를 구축합니다.그리고 kafka-ui 와 kafka-connect-ui 라는 Kafka 와 관련된 관리자 Web UI 를 함께 실행합니다. 참고로 Kafka Connector Worker 의 경우에는 Debezium Connector Plugin 을 추가한 Docker Image 를 사용하였습니다. docker network create kafkacat /tmp/docker-compose.yamlversion: '3.8'services: kafka1: image: conf..
-
[Kafka Connect] JdbcSourceConnector Bulk Mode 알아보기Kafka/kafka Connect 2024. 6. 18. 05:59
- 목차 들어가며.이번 글에서는 JdbcSourceConnector 의 Bulk Mode 에 대해서 알아보도록 하겠습니다.JdbcSourceConnector 는 크게 두가지 모드로 동작합니다.한가지 방식인 incrementing 모드이고 다른 하나는 bulk 모드입니다.incrementing 모드는 특정 Table 의 모든 Row 들을 하나씩 추출하게 됩니다.만약 Table 의 Primary Key 를 기준으로 incrementing 모드로 데이터 추출을 하게 된다면,Primary Key 1번부터 Row by Row 방식으로 데이터를 처리하게 되죠.아래의 두 링크에서 incrementing 방식의 JdbcSourceConnector 의 동작을 확인할 수 있습니다. https://westlife0615.t..
-
[Kafka Connect] JdbcSourceConnector table.whitelist 알아보기Kafka/kafka Connect 2024. 6. 18. 05:59
- 목차 들어가며.이번 글에서는 JdbcSourceConnector 의 table.whitelist 속성에 대해서 알아보도록 하겠습니다.JdbcSourceConnector 는 Kafka Connect 의 Source Connector 로써 외부 저장소로부터 데이터를 추출하는 작업을 수행합니다.이름처럼 Jdbc Driver 와 호환되는 모든 SQL 기반의 데이터베이스를 그 대상으로 삼습니다.MySQL 과 같은 SQL 기반 데이터베이스를 Table 이라는 논리적은 규격을 정의하고, 그 규격대로 데이터를 생성합니다.JdbcSourceConnector 의 table.whitelist 속성은 JdbcSourceConnector 가 획득해야하는 모든 테이블을의 이름을 작성합니다.이렇게 table.whitelist ..
-
[Kafka Connect] JdbcSourceConnector 구현해보기 (1)Kafka/kafka Connect 2024. 6. 17. 05:59
- 목차 들어가며.이번 글에서는 Kafka Connect 의 JdbcSourceConnector 에 대해서 간단히 알아보는 시간을 가지겠습니다.JdbcSourceConnector 를 실행하기 위해서 Kafka Broker, Zookeeper, Connect Worker 와 MySQL 등 여러가지 요소들이 실행되어야 합니다.또한 Kafka Connect Worker 내부에 JdbcSourceConnector Plugin 도 추가되어야 하는데요.이번 글에선 Docker 환경을 활용해서 JdbcSourceConnector 를 실행해보는 간단한 실습을 진행해보려고 합니다. Kafka Broker 와 Zookeeper 실행하기.먼저 Kafka Broker 와 Zookeeper 를 Docker 를 통해서 실행해보도..
-
[Kafka-Connect] Debezium MySQL Connector 구현하기Kafka/kafka Connect 2024. 2. 18. 07:04
- 목차 들어가며.이번 글에서는 간단하게 Debezium MySQL Connector 을 활용하여 MySQL CDC 를 구현하는 방법에 대해서 알아보려고 합니다. MySQL Docker Container 실행하기.먼저 MySQL Docker Container 를 실행합니다.test_db 데이터베이스와 test_table 테이블을 생성합니다.그리고 Replication 을 수행할 user 인 kafkaconnect 를 생성합니다. cat /tmp/init.sqlcreate database test_db;use test_db;create table test_db.test_table (id int not null auto_increment, name varchar(32), PRIMARY KEY (id));i..
-
Debezium Plugin 이 포함된 Kafka Connect Docker 이미지 만들기Kafka/kafka Connect 2023. 11. 21. 05:56
들어가며.이 글에서는 Debezium Connector Plugin 이 포함된 Kafka Connect Worker 의 Base Docker Image 를 만드는 내용을 작성합니다.https://debezium.io/documentation/reference/3.0/connectors/mysql.html Debezium connector for MySQL :: Debezium DocumentationMandatory field that describes the source metadata for the event. In a delete event value, the source field structure is the same as for create and update events for the sam..
-
[Kafka Connect] SpoolDir Connector 구현해보기Kafka/kafka Connect 2023. 2. 24. 06:23
- 목차 들어가며.이번 글에서는 Kafka Connect 의 SpoolDir Source Connector 에 대해 알아보는 시간을 가지려고 합니다.SpoolDir Connector 는 Local File 을 읽어들이고 Record 를 생성하여 Kafka Topic 으로 푸시하는 구조를 가집니다. 간략한 구조는 아래와 같습니다.SpoolDir Source Connector 는 Local File 들을 Line by Line 으로 읽어들이고,레코드를 생성하여 지정된 Kafka Topic 으로 레코드를 저장합니다. 중요한 점은 SpoolDir 은 S3 나 Hadoop 과 같은 원격 저장소의 파일이 아닌 내부의 로컬 파일을 그 대상으로 합니다.그래서 SpoolDir Source Connector 의 지정된 디..