运行kafka connect分布式模式时已使用的地址

时间:2018-08-09 06:59:23

标签: distributed apache-kafka-connect

我通过发出“ ./bin/confluent start”命令启动了confluent套件。 然后我使用kafka connect将kafka数据接收到mysql中。

通过执行以下命令,我可以在独立模式下很好地运行kafka connect:

  

./ bin / connect-standalone   ./etc/schema-registry/connect-avro-standalone.properties   ./etc/kafka-connect-jdbc/adstats-jdbc-sink.properties

然后我关闭上面的命令,并通过命令切换到分布式模式:

  

./ bin / connect-distributed   ./etc/schema-registry/connect-avro-distributed.properties   ./etc/kafka-connect-jdbc/adstats-jdbc-sink.properties

它报告了以下异常:

  

[2018-08-09 14:51:56,951]错误无法启动连接   (org.apache.kafka.connect.cli.ConnectDistributed:108)   org.apache.kafka.connect.errors.ConnectException:无法启动REST   服务器位于   org.apache.kafka.connect.runtime.rest.RestServer.start(RestServer.java:214)     在org.apache.kafka.connect.runtime.Connect.start(Connect.java:53)     在   org.apache.kafka.connect.cli.ConnectDistributed.main(ConnectDistributed.java:106)   引起原因:java.net.BindException:地址已在使用   sun.nio.ch.Net.bind0(本机方法)位于   sun.nio.ch.Net.bind(Net.java:433)在   sun.nio.ch.Net.bind(Net.java:425)

怎么了?如何切换为使用kafka Connect分布式模式?谢谢!

2 个答案:

答案 0 :(得分:4)

运行confluent start时,您已经以分布式模式启动了Kafka Connect。因此,您可以使用该实例,也可以在属性文件中为要运行的第二个实例定义一个新的REST端口。

无论哪种方式,您都将您的接收器配置提交给通过REST分发的Kafka Connect,而不是在启动时将其作为属性参数传递(不同于独立配置)。

答案 1 :(得分:0)

通过以下方式引导所有融合服务后

./confluent start

确保停止默认的kafka连接通过

./confluent stop connect

开始自定义kafka-connect之前。