Kafka/Troubleshooting
SinkConnector 각 종 에러
Thewayhj
2022. 2. 18. 13:50
반응형
1. Task threw an uncaught and unrecoverable exception
원인
sinkConnector를 실행시킬 때 Kafka에 기록한 직렬화된 데이터를 변환하기 위해 사용한 "key.converter"과 "value.converter"을 사용했는데 connect.log 확인 시 schema 정보를 갖고 있는 key를 찾을 수 없다는 에러 로그를 확인하였다.
하여 topic에 쌓인 데이터를 확인해보니 아래와 같이 쌓인 것을 볼 수 있었다.
해결 방안
sinkConnector에서 "key.converter" 또는 "value.converter" 옵션을 사용하기 위해서는 debezium 또는 sourceConnector 를 실행시킬 때 "key.converter", "value.converter" 설정을 주어야 schema와 payload의 key 데이터가 topic에 쌓이는 것을 확인할 수 있었다.
또한 기존에 이미 Topic에 들어간 데이터로 인해 sinkConnector을 실행시킬 때 동일한 에러가 발생할 수 있으므로 topic에 들어간 데이터를 삭제하거나, topic 자체를 삭제 후 sinkConnector를 실행시키면 정상적으로 RUNNING이 되는 부분을 확인할 수 있었다.
- topic에 있는 데이터 삭제 방법 (삭제 주기를 주어 데이터를 주기적으로 삭제되게 처리.)
- ./kafka-topics.sh --zookeeper localhost:2181 -alter --topic {topic name} --config retention.ms=1000
- topic 자체를 삭제하는 방법
- kafka를 실행시킬 때 선언하는 server.properties에 delete.topic.enable=true 처리.
- ./kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic {topic name}
반응형