저는 mysql을 이용했기 때문에 여기
wget https://repo1.maven.org/maven2/io/debezium/debezium-connector-mysql/1.9.6.Final/debezium-connector-mysql-1.9.6.Final-plugin.tar.gz 이렇게 하면 됩니다.
kafka 폴더 안에 connect폴더를 만들어서 그 안에 풀어주는게 좋습니다!!
분산모드로 실행을 해야 debezium이 작동하기 때문에 분산모드 파일을 수정하겠습니다.
cd kafka
cd config/
vim connect-distributed.properties
bootstrap.servers를 kafka클러스터 구축할 때 했던 방식대로 ip:9092,ip:9092,ip:9092로 입력합니다.
가장 밑의 plugin.path는 아까 압축을 풀었던 폴더를 지정합니다.
./bin/connect-distributed ./etc/kafka/connect-distributed.properties
저는 postman을 이용하여 rest 명령을 전송했습니다.
{
"name": "임의 커넥터 이름",
"config": {
"connector.class": "io.debezium.connector.mysql.MySqlConnector",
"tasks.max": "1",
"database.hostname": "db-ip",
"database.port": "3306",
"database.user": "아이디",
"database.password": "비밀번호",
"database.server.id": "임의 숫자",
"database.server.name": "임의 이름",
"database.history.kafka.bootstrap.servers": "본인의 카프카 서버3개",
"database.whitelist": "캡쳐 원하는 db",
"database.history.kafka.topic": "임의 토픽 이름 or 본인이 생성한 토픽",
"database.serverTimezone": "Asia/Seoul"
}
}
출처 : https://cjw-awdsd.tistory.com/53
아까 토픽을 확인해보면 캡쳐가 정상적으로 되는걸 확인할 수 있습니다.