【问题标题】:Address already in use when run kafka connect distributed mode运行 kafka 连接分布式模式时地址已在使用中
【发布时间】:2019-01-16 13:02:33
【问题描述】:

我通过发出“./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 分布式模式?谢谢!

【问题讨论】:

    标签: distributed apache-kafka-connect


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      在通过

      引导所有融合服务之后
      ./confluent start
      

      确保停止默认的 kafka-connect through

      ./confluent stop connect
      

      在开始您的自定义 kafka-connect 之前。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-08
        • 2020-04-27
        • 2018-08-13
        • 1970-01-01
        • 2020-05-09
        • 1970-01-01
        • 2017-06-11
        • 2019-11-30
        相关资源
        最近更新 更多