【问题标题】:How to change the "kafka connect" component port?如何更改“kafka connect”组件端口?
【发布时间】:2018-11-14 20:07:14
【问题描述】:

在端口 8083 上,我正在运行 Influxdb,我什至可以在 http://localhost:8083 上获得 GUI

现在来到kafka,这里我指的是https://kafka.apache.org/quickstart的设置

通过以下命令启动文件夹 /opt/zookeeper-3.4.10 中的 zookeeeper:bin/zkServer.sh start

所以 zookeeper 现在开始启动 /opt/kafka_2.11-1.1.0 文件夹下的 kafka 为:
bin/kafka-server-start.sh config/server.properties

创建一个名为“test”的主题,具有单个分区和一个副本:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

主题已创建并可使用命令签入:
bin/kafka-topics.sh --list --zookeeper localhost:2181

到目前为止,一切都很好。

现在我需要使用“Kafka connect”组件来导入/导出数据。 所以我创建一个种子数据为:echo -e "foo\nbar" > test.txt

现在使用“kafka connect”的连接器配置来工作: bin/connect-standalone.sh config/connect-standalone.properties config/connect-file-source.properties config/connect-file-sink.properties

运行上述命令后,我得到:Address already in use

Kafka connect has stopped

我什至更改了/opt/kafka_2.11-1.1.0/config/connect-distributed.properties 中的rest.port=8084,这样它就不会与已经在 8083 上的 influxdb 发生冲突。我仍然得到同样Address already in use, Kafka connect has stopped 如截图所示。

【问题讨论】:

  • 在提出问题时请更具体一点:到目前为止,您对代码示例进行了哪些尝试? (I downvoted because there is no code) / 你期待什么? / 你得到什么错误? 如需帮助,请查看“How to ask
  • 您能否提供用于启动 Kafka Connect 的命令?由此我们可以了解您使用的是独立模式还是分布式模式,从而了解要编辑哪个配置文件。
  • 我已经在主要部分一步一步地阐述了整个问题......希望这将很容易知道问题@RobinMoffatt

标签: apache-kafka-connect


【解决方案1】:

由于您在独立模式下使用 Kafka Connect,您需要更改 config/connect-standalone.properties 中的 REST 端口:

rest.port=18083

要了解有关独立与分布式的更多信息,您可以read the doc here

【讨论】:

  • config/connect-standalone.properties 中没有类似rest.port= 的选项,我应该手动输入吗??
  • 天哪,@Robin Moffatt 我在config/connect-standalone.properties 中写了rest.port=8084,它按照kafka.apache.org/quickstart 教程工作。但是为什么在kafka.apache.org/quickstart 中没有提到为connect-standalone.properties 编写一个rest api 端口非常感谢!!!从过去 3 天开始,我一直在研究它。
【解决方案2】:

Kafka Standalone 模式,默认使用Port 8084 作为 Rest API post。由于这个原因,如果其他人已经在使用该端口,则该进程会抛出 BindException

要更改上面使用的端口,请导航到 Kafka 根目录中的 config/connect-standalone.properties 文件。

添加以下键值属性以更改用于 Rest API 开放的端口。 (Kafka 应该在默认情况下将其包含在属性文件中,否则许多开发人员会发疯试图找到在独立模式下使用的端口映射)。根据需要放置不同的端口。

rest.port=11133

【讨论】:

    【解决方案3】:

    Kafka 3.0.0

    由于 Kafka Connect 旨在作为服务运行,它还提供了用于管理连接器的 REST API。可以使用 listeners 配置选项配置 REST API 服务器。此字段应包含以下格式的侦听器列表:protocol://host:port,protocol2://host2:port2。当前支持的协议是 http 和 https。 例如:listeners= http://localhost:8080,https://localhost:8443 默认情况下,如果未指定监听器,则 REST 服务器使用 HTTP 协议在端口 8083 上运行。

    更多详情:https://kafka.apache.org/documentation/#connect_rest

    【讨论】:

      【解决方案4】:

      更改 config/server.properties 中的 port 定义:

      # The port the socket server listens on
      port=9092
      

      【讨论】:

      • 那是 Kafka Broker 端口,不是 Kafka Connect REST API
      • OP 没有要求“REST”端口。
      • 伙计们,我的意思是“更改 Kafka 连接 的端口”,@cricket_007 是对的。 连接到 Kafka 服务器Kafka 连接 是两个不同的方面。请在没有任何利益冲突的情况下分享你们所经历的知识。我们都在这里学习和分享我们在这个伟大的 stackoverflow 平台上的知识,以使彼此的工作更轻松。 :)
      • 不...我的意思是“Kafka 连接”而不是“连接”到 Kafka ...如果我的句子不清楚并且被误解了,请向我道歉。
      • 我的意思是,我写了那个,提出问题后我没有做任何编辑,所以人们可以将“Kafka connect”理解为“连接到 kafka”,我的写作将如何如果有人将“Kafka connect”误解为“connect to kafka”,请对此负全部责任。 @jspcal重点是可能会发生误解,但我真的不觉得这个问题需要被夸大这么多,从事开源技术需要耐心和知识共享,这是stackoverflow的主要动力,这就是应该做的一个微笑 :) 和一个冷静的头脑。
      猜你喜欢
      • 1970-01-01
      • 2020-05-28
      • 1970-01-01
      • 2021-11-28
      • 2014-09-14
      • 2012-02-04
      • 1970-01-01
      • 1970-01-01
      • 2020-09-02
      相关资源
      最近更新 更多