Kafka Sink:错误因错误而停止(org.apache.kafka.connect.cli.ConnectStandalone:130)

Kafka Sink: ERROR Stopping due to error (org.apache.kafka.connect.cli.ConnectStandalone:130)

我正在尝试将数据从一个流文件流式传输到另一个文件。它早些时候工作,突然它提供错误 ERROR Stopping due to error (org.apache.kafka.connect.cli.ConnectStandalone:130)。已重新启动 zookeeper、kafka-server、schema-registry、source 和 sink 连接器,但仍然面临同样的问题且无法解决。任何建议都会有所帮助。

源连接器:

name=local-file-source
connector.class=FileStreamSource
tasks.max=1
file=/home/jimmacaulay/Desktop/ETL/Kafka/confluent-5.5.1/data/data/Jim_Source.csv
topic=Jim

接收器连接器:

name=local-file-sink
connector.class=FileStreamSink
tasks.max=1
file=/home/jimmacaulay/Desktop/ETL/Kafka/confluent-5.5.1/data/data/Jim_Sink.csv
topics=Jim

错误:

[2020-08-18 06:25:50,482] ERROR Stopping due to error (org.apache.kafka.connect.cli.ConnectStandalone:130)
org.apache.kafka.connect.errors.ConnectException: Unable to initialize REST server
    at org.apache.kafka.connect.runtime.rest.RestServer.initializeServer(RestServer.java:217)
    at org.apache.kafka.connect.cli.ConnectStandalone.main(ConnectStandalone.java:87)
Caused by: java.io.IOException: Failed to bind to 0.0.0.0/0.0.0.0:8083
    at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:346)
    at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:307)
    at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
    at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:231)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.server.Server.doStart(Server.java:385)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.apache.kafka.connect.runtime.rest.RestServer.initializeServer(RestServer.java:215)
    ... 1 more
Caused by: java.net.BindException: Address already in use
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:433)
    at sun.nio.ch.Net.bind(Net.java:425)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:220)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:85)
    at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:342)
    ... 8 more

通过同时使用源和接收器属性启动 connect-standalone 解决了错误。

sh connect-standalone ../config/connect-avro-standalone.properties ../config/connect-file-source_Topic_Jim.properties ../config/connect-file-sink_Topic_Jim.properties

早些时候我是单独启动它的,如下所示,

sh connect-standalone ../config/connect-avro-standalone.properties ../config/connect-file-source_Topic_Jim.properties

sh connect-standalone ../config/connect-avro-standalone.properties ../config/connect-file-sink_Topic_Jim.properties

问题原因,

当我单独启动时 connect-standalone 首先使用端口号 8083 启动源属性。再次启动接收器属性时,它尝试使用相同的端口号并失败。

解决方案,

source 和 sink 属性应该在启动时 connect-standalone 共享相同的端口。

或者在属性文件中定义不同的端口号,分别启动