inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

카프카 완벽 가이드 - 커넥트(Connect) 편

커넥트 스타트시 오류

671

emlookstudy

작성한 질문수 4

0

안녕하세요! 선생님 강의 잘 듣고 있습니다.

다름이 아니라

커넥트 내부 토픽이해 - connect0offsets, connect-status, connect-config 강의 실습 중

spool 커넥터를 띄워놓고 spooldir csv 메세지 보내는 과정에서

커넥터가 정상 작동을 안하는 것 같아

이부분을 반복했더니 커넥트 기동중 spool 커넥터에 에러가 잡히는데 혹시 해결방안 여쭤봐도 될까요 ?

 

 

커넥트 기동시 뜨는 에러 로그입니다. path annotation 이 비었다고 하는 것같은데 새로 지정을 어디서 해야 할까요?

org.apache.kafka.connect.errors.ConnectException: Failed to start connector: csv_spooldir_source
        at org.apache.kafka.connect.runtime.distributed.DistributedHerder.lambda$startConnector$25(DistributedHerder.java:1461)
        at org.apache.kafka.connect.runtime.WorkerConnector.doTransitionTo(WorkerConnector.java:334)
        at org.apache.kafka.connect.runtime.WorkerConnector.doRun(WorkerConnector.java:140)
        at org.apache.kafka.connect.runtime.WorkerConnector.run(WorkerConnector.java:117)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.apache.kafka.connect.errors.ConnectException: Failed to transition connector csv_spooldir_source to state STARTED
        ... 8 more
Caused by: java.lang.IllegalStateException: Could not find any input file(s) to infer schema from.
        at com.google.common.base.Preconditions.checkState(Preconditions.java:510)
        at com.github.jcustenborder.kafka.connect.spooldir.AbstractSpoolDirSourceConnector.start(AbstractSpoolDirSourceConnector.java:63)
        at org.apache.kafka.connect.runtime.WorkerConnector.doStart(WorkerConnector.java:184)
        at org.apache.kafka.connect.runtime.WorkerConnector.start(WorkerConnector.java:209)
        at org.apache.kafka.connect.runtime.WorkerConnector.doTransitionTo(WorkerConnector.java:348)
        at org.apache.kafka.connect.runtime.WorkerConnector.doTransitionTo(WorkerConnector.java:331)
        ... 7 more
3월 08, 2023 1:54:32 오후 org.glassfish.jersey.internal.Errors logErrors
경고: The following warnings have been detected: WARNING: The (sub)resource method listLoggers in org.apache.kafka.connect.runtime.rest.resources.LoggingResource contains empty path annotation.
WARNING: The (sub)resource method createConnector in org.apache.kafka.connect.runtime.rest.resources.ConnectorsResource contains empty path annotation.
WARNING: The (sub)resource method listConnectors in org.apache.kafka.connect.runtime.rest.resources.ConnectorsResource contains empty path annotation.
WARNING: The (sub)resource method listConnectorPlugins in org.apache.kafka.connect.runtime.rest.resources.ConnectorPluginsResource contains empty path annotation.
WARNING: The (sub)resource method serverInfo in org.apache.kafka.connect.runtime.rest.resources.RootResource contains empty path annotation.

[2023-03-08 13:54:32,670] INFO Started o.e.j.s.ServletContextHandler@1e253c9d{/,null,AVAILABLE} (org.eclipse.jetty.server.handler.ContextHandler:915)
[2023-03-08 13:54:32,671] INFO REST resources initialized; server is started and ready to handle requests (org.apache.kafka.connect.runtime.rest.RestServer:303)
[2023-03-08 13:54:32,671] INFO Kafka Connect started (org.apache.kafka.connect.runtime.Connect:57)

min@min-VirtualBox:~$ curl -X GET http://localhost:8083/connectors/csv_spooldir_source/status | jq '.'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1375  100  1375    0     0   8647      0 --:--:-- --:--:-- --:--:--  8647
{
  "name": "csv_spooldir_source",
  "connector": {
    "state": "FAILED",
    "worker_id": "127.0.1.1:8083",
    "trace": "java.lang.IllegalStateException: Could not find any input file(s) to infer schema from.\n\tat com.google.common.base.Preconditions.checkState(Preconditions.java:510)\n\tat com.github.jcustenborder.kafka.connect.spooldir.AbstractSpoolDirSourceConnector.start(AbstractSpoolDirSourceConnector.java:63)\n\tat org.apache.kafka.connect.runtime.WorkerConnector.doStart(WorkerConnector.java:184)\n\tat org.apache.kafka.connect.runtime.WorkerConnector.start(WorkerConnector.java:209)\n\tat org.apache.kafka.connect.runtime.WorkerConnector.doTransitionTo(WorkerConnector.java:348)\n\tat org.apache.kafka.connect.runtime.WorkerConnector.doTransitionTo(WorkerConnector.java:331)\n\tat org.apache.kafka.connect.runtime.WorkerConnector.doRun(WorkerConnector.java:140)\n\tat org.apache.kafka.connect.runtime.WorkerConnector.run(WorkerConnector.java:117)\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)\n\tat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\tat java.base/java.lang.Thread.run(Thread.java:829)\n"
  },
  "tasks": [],
  "type": "source"
}

kafka 데이터-엔지니어링

답변 1

1

권 철민

안녕하십니까,

음.. 먼저 아래 사항 확인 부탁드립니다.

  1. 처음부터 잘 안되는 건가요? 아님. 처음엔 잘 되었는데 다시 해보니 안되는 건가요?

  2. 강의 실습 환경대로 Ubuntu vm 기반에서 실습 하시는 건가요?

  3. spooldir_source.json 파일이 강의대로 인지, 아님 별도 변경을 하신 건가요?

  4. spooldir_source.json 설정에 있는 inputlpath, error.path, finished.path 대로 디렉토리가 만들어져 있는지요?

감사합니다.

0

emlookstudy

  1. 네. 오류없이 정상 작동 됐었습니다. 이번 강 실습 도중 커넥터가 내려가있으면 다시 올려야 했는데 그 과정에서 delete 후 post 로 모르고 두세번 반복으로 했더니 저런 오류가 생겼습니다

  2. 네 모두 다 똑같이 설정후 진행했습니다.

  3. 강의대로 진행했습니다. 달라진것은 1번처럼 반복 curl 로 delete post 한 것 입니다.

min@min-VirtualBox:~/connector_configs$ ls
spooldir_source.json
min@min-VirtualBox:~/connector_configs$ vi spooldir_source.json
{
  "name": "csv_spooldir_source",
  "config": {
    "tasks.max": "3",
    "connector.class": "com.github.jcustenborder.kafka.connect.spooldir.SpoolDirCsvSourceConnector",
    "input.path": "/home/min/spool_test_dir",
    "input.file.pattern": "^.*\\.csv",
    "error.path": "/home/min/spool_test_dir/error",
    "finished.path": "/home/min/spool_test_dir/finished",
    "empty.poll.wait.ms": 30000,
    "halt.on.error": "false",
    "topic": "spooldir-test-topic",
    "csv.first.row.as.header": "true",
    "schema.generation.enabled": "true"
   }
}
~
~
~
~
~
~
"spooldir_source.json" 16 lines, 552 characters

 

  1. input.path,error.path, finished.path

min@min-VirtualBox:~/spool_test_dir$ pwd
/home/min/spool_test_dir
min@min-VirtualBox:~/spool_test_dir$ ls
error  finished

 

감사합니다.

 

2

권 철민

그러니까, 최초에는 잘 되었는데, 이후에 안되었다는 거죠?

확인해 주신 것을 보니 특별히 이상 사항은 없군요.

일단 connect 와 kafka를 순서대로 재 기동하시고 spool_test_dir을 삭제후에 다시 만들어 주시고 다시 한번 connector를 post로 생성해 주십시요.

만약에 그래도 안되면 섹션 3에 보시면 <중요 - 스킵하지 마세요> Kafka 실습 환경 전체 초기화 하기 영상이 있습니다. 보시고 Kafka 실습 환경을 다시 한번 초기화 하시고 spooldir 커넥터 실습을 처음부터 다시 해보시기 바랍니다.

안되면 다시 글 부탁드립니다.

계속 csv파일을 폴더로 인식하는 중입니다.

0

69

2

cdc failover

0

70

2

avro plugin에 안보이는거 같아요

0

70

2

zookeeper가 실행이 안되요

0

80

3

Debezium CDC Source Connector 이벤트 메시지

0

87

2

재 질문! 다른 connector가 동일 토픽 사용

0

68

2

메시지 발행이 안 됩니다.

0

78

2

디비지움 오프셋 리셋

0

96

2

mysql_jdbc_oc_sink_customers_02.json 에서 오류납니다.

0

72

3

io.debezium.connector.mysql.MySqlConnector 질문

0

68

2

Debezium 이벤트 메시지 발행 시 성공여부

0

82

2

connect 구동 오류

0

99

3

CDC Connect 통시에서의 암호화 관련 하여 문의 드립니다.

0

122

2

GCSSinkconnector

0

66

1

debezium source connector에서 `poll.interval.ms` 파라미터

0

145

2

자문자답: JDBC Sink Connector가 PostgreSQL의 Schema를 바라보지 않습니다.

0

214

1

table.name.format에 관하여..

0

197

2

binlog와 offset 관련 추가 질문드립니다

0

152

1

Debezium cdc source for MSSQL-Server [등록오류]

0

193

2

http http://localhost:8083/connector-plugins 시 플러그인이 보이지 않습니다.

0

192

2

안녕하세요 sink connector 생성 config 관련 질문입니다.

0

165

2

수강환경 VirtualBox -> Docker

0

232

2

일반적인 예시들이 궁금해서 질문 남깁니다.

1

149

2

debezium connector schema 찾지 못하는 오류

0

437

2