강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Sink Connect시 테이블 생성아 안됩니다

해결된 질문

작성

·

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 옵션을 통해 지정된 토픽의 테이블이 자동으로 생성되어야 하지만, 만약 테이블이 생성되지 않는 경우에는 다음 사항을 확인해보시기 바랍니다:

  1. 연결 확인: 설정 파일에서 connection.url, connection.user, 그리고 connection.password가 올바르게 설정되어 있는지 확인하세요. 이 값들이 정확하지 않으면 데이터베이스에 접근할 수 없습니다.

  2. 로그 확인: Kafka Connect 로그 파일에서 에러 또는 경고 메시지가 있는지 확인하세요. 종종 문제가 발생할 경우 로그에 힌트가 있을 수 있습니다.

  3. 테이블 자동 생성 옵션: auto.create 옵션이 true로 설정되어 있는지 한 번 더 확인해주세요. 이 옵션이 테이블을 자동으로 생성하도록 지시합니다.

  4. 다른 설정 옵션 확인: 추가적으로 auto.evolve 옵션이 설정되어 있으므로, 스키마 변화가 있는 경우에도 테이블을 자동으로 변경할 수 있습니다.

관련된 유사한 문제를 다룬 질문과 답변이 있습니다. 이 링크를 통해 추가적인 정보를 얻을 수 있습니다:

마지막으로, 설정이 올바른데도 문제가 계속된다면, 수동으로 테이블을 생성하여 문제가 있는지 확인해보는 것도 좋은 방법입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기