我正在通过 kafka connect,我正在尝试了解这些概念。
假设我已经设置了 kafka 集群(节点 k1、k2 和 k3)并且它正在运行,现在我想在不同节点(例如 c1 和 c2)中以分布式模式运行 kafka 连接工作程序。
几个问题。
1)要在分布式模式下运行或启动kafka connect,我需要使用命令../bin/connect-distributed.sh
,它在 kakfa 集群节点中可用,所以我需要从任意一个 kafka 集群节点启动 kafka connect 吗?或者我启动 kafka connect 的任何节点都需要有 kafka 二进制文件,以便我能够使用../bin/connect-distributed.sh
2)我需要将连接器插件复制到任何 kafka 集群节点(或所有集群节点?),从哪里执行步骤 1?
3)在工作节点上启动jvm进程之前,kafka如何将这些连接器插件复制到工作节点?因为该插件包含我的任务代码,需要将其复制到工作程序才能在工作程序中启动该进程。
4)我是否需要在连接集群节点c1和c2中安装任何东西,比如需要安装java或任何kafka连接相关的东西?
5)在某些地方它说使用汇合平台,但我想首先单独使用 apache kafka connect 启动它。
请有人通过一些线索甚至指向一些资源也会有所帮助。
谢谢。
1)为了获得高可用的 kafka-connect 服务,您需要运行至少两个实例connect-distributed.sh
在两台具有相同功能的不同机器上group.id
。您可以找到有关每个工作人员配置的更多详细信息here https://docs.confluent.io/current/connect/userguide.html#distributed-worker-configuration。为了提高性能,Connect 应独立于代理和 Zookeeper 计算机运行。
2)是的,您需要将所有连接器放在plugin.path
(通常在/usr/share/java/
)在您计划运行 kafka-connect 的每台机器上。
3) kafka-connect 将在启动时加载连接器。你不需要处理这个。请注意,如果您的 kafka-connect 实例正在运行并且添加了新连接器,则需要重新启动该服务。
4) 您需要在所有机器上安装Java。特别是对于 Confluence 平台:
此版本的 Confluence Platform 支持 Java 1.7 和 1.8
(目前不支持Java 1.9)。你应该运行
垃圾优先(G1)垃圾收集器。欲了解更多信息,请参阅
支持的版本和互操作性 https://docs.confluent.io/current/installation/versions-interoperability.html#interoperability-versions.
5)这要看情况。 Confluence 由 Apache Kafka 的原始创建者创建,它是一个更完整的发行版,添加了模式管理、连接器和客户端。它还附带了 KSQL,如果您需要对某些事件采取行动,它非常有用。 Confluence 只是添加到 Apache Kafka 发行版之上,它不是修改版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)