
CDC를 프로젝트에 적용하기 위하여 Debezium을 연결하려 하는데 자꾸 에러가 떳다,,
챗지피티한테도 물어봤지만 계속 도르마무처럼 되돌기만 했는데 구글링으로 단번에 해결했다..!ㅎㅎ
(오늘의 교휸 - 챗지피티에만 절대 의존하지말 것)!
curl -X POST http://localhost:8083/connectors \
-H "Content-Type: application/json" \
-d '{
"name": "{커넥터_이름}",
"config": {
"connector.class": "io.debezium.connector.mysql.MySqlConnector",
"database.hostname": "{MySQL_호스트_이름_or_컨테이너_이름}",
"database.port": "{MySQL_포트}",
"database.user": "{MySQL_사용자명}",
"database.password": "{MySQL_비밀번호}",
"database.server.id": "{MySQL_복제_서버_ID(고유숫자)}",
"database.include.list": "{감지할_DB명}",
"topic.prefix": "{Kafka_토픽_프리픽스}",
"database.server.name": "{Kafka_토픽_서버명}",
"database.history.kafka.bootstrap.servers": "{Kafka_호스트:포트}",
"database.history.kafka.topic": "{Kafka_스키마_히스토리_토픽명}",
"include.schema.changes": "true"
}
}'
Debezium 커넥터 설정은 “MySQL에서 변경이 생기면, Kafka 토픽에 자동으로 보내줘” 라고 Kafka Connect + Debezium에게 알려주는 작업이다.
그런데 자꾸 아래와 같은 오류가 떴다..

1시간 가량을 삽질하다가 오류코드를 구글링해본 결과, 바로 답을 얻을 수 있었다,,
바로 이유는 Debezium 버전문제였다. 1.x 버전은 Kafka 스키마 히스토리 토픽명의 key값으로 database.history.kafka.topic 으로 해야하고 2.x 버전은schema.history.internal.kafka.topic 으로 해야했다.
이를 반영해서 수정한 결과..

커넥터 설정이 완료되었다 :)