작성자 없음
작성자 정보가 삭제된 글입니다.
해결된 질문
작성
·
30
0
현재 my-sink-connect 등록도 잘되었고 아무 문제없이 작동을 잘 합니다. 또한 파워쉘을 통해서 데이터가 shema형태로 잘 통신되는 것도 확인 잘 되었습니다. 하지만 my_topic_users 테이블이 생성되지 않아 문제가 생겼습니다. 오류 메시지나 로그 또한 아무것도 나오지 않아 해결을 어떻게 할지 잘 모르겠습니다.
PS C:\Work\kafka_2.12-3.4.0> .\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic my_topic_users --from-beginning
{"schema":{"type":"struct","fields":[{"type":"int32","optional":false,"field":"id"},{"type":"string","optional":true,"field":"user_id"},{"type":"string","optional":true,"field":"pwd"},{"type":"string","optional":true,"field":"name"},{"type":"int64","optional":true,"name":"org.apache.kafka.connect.data.Timestamp","version":1,"field":"created_at"}],"optional":false,"name":"users"},"payload":{"id":1,"user_id":"user1","pwd":"1111","name":"userA","created_at":1753221466000}}
{"schema":{"type":"struct","fields":[{"type":"int32","optional":false,"field":"id"},{"type":"string","optional":true,"field":"user_id"},{"type":"string","optional":true,"field":"pwd"},{"type":"string","optional":true,"field":"name"},{"type":"int64","optional":true,"name":"org.apache.kafka.connect.data.Timestamp","version":1,"field":"created_at"}],"optional":false,"name":"users"},"payload":{"id":2,"user_id":"user2","pwd":"2222","name":"userB","created_at":1753221589000}}
mysql> use mydb;
Database changed
mysql> show tables;
+----------------+
| Tables_in_mydb |
+----------------+
| orders |
| users |
+----------------+
{
"name": "my-sink-connect",
"config": {
"connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector",
"delete.enabled": "false",
"connection.password": "test1357",
"auto.evolve": "true",
"connection.user": "root",
"tasks.max": "1",
"topics": "my_topic_users",
"value.converter.schemas.enable": "true",
"name": "my-sink-connect",
"auto.create": "true",
"connection.url": "jdbc:mysql://localhost:3306/mydb"
},
"tasks": [
{
"connector": "my-sink-connect",
"task": 0
}
],
"type": "sink"
}
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
이수현님께서 언급하신 문제는 Kafka Sink Connector를 통해 데이터가 잘 전송되고 있음에도 불구하고, MySQL 데이터베이스에 테이블이 자동으로 생성되지 않는 상황입니다. 이는 주로 MySQL Connector 설정에서 auto.create
가 올바르게 설정되지 않았거나, MySQL 데이터베이스와의 연결이 잘못되었을 때 발생할 수 있는 문제입니다.
기본적으로 auto.create
옵션을 통해 지정된 토픽의 테이블이 자동으로 생성되어야 하지만, 만약 테이블이 생성되지 않는 경우에는 다음 사항을 확인해보시기 바랍니다:
연결 확인: 설정 파일에서 connection.url
, connection.user
, 그리고 connection.password
가 올바르게 설정되어 있는지 확인하세요. 이 값들이 정확하지 않으면 데이터베이스에 접근할 수 없습니다.
로그 확인: Kafka Connect 로그 파일에서 에러 또는 경고 메시지가 있는지 확인하세요. 종종 문제가 발생할 경우 로그에 힌트가 있을 수 있습니다.
테이블 자동 생성 옵션: auto.create
옵션이 true
로 설정되어 있는지 한 번 더 확인해주세요. 이 옵션이 테이블을 자동으로 생성하도록 지시합니다.
다른 설정 옵션 확인: 추가적으로 auto.evolve
옵션이 설정되어 있으므로, 스키마 변화가 있는 경우에도 테이블을 자동으로 변경할 수 있습니다.
관련된 유사한 문제를 다룬 질문과 답변이 있습니다. 이 링크를 통해 추가적인 정보를 얻을 수 있습니다:
마지막으로, 설정이 올바른데도 문제가 계속된다면, 수동으로 테이블을 생성하여 문제가 있는지 확인해보는 것도 좋은 방법입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.