Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 将两个不同的连接器部署到Kafka Connect_Apache Kafka_Apache Kafka Connect - Fatal编程技术网

Apache kafka 将两个不同的连接器部署到Kafka Connect

Apache kafka 将两个不同的连接器部署到Kafka Connect,apache-kafka,apache-kafka-connect,Apache Kafka,Apache Kafka Connect,我在Kafka connect中有一个主题,我想将数据写入两个不同的位置。为此,我有两个自定义连接器 我不是在Confluent平台上工作。我只是在kafka集群上工作,我计划使用kafka的connect distributed.sh 但是,我不知道如何部署这些不同的作业。我应该创建两个distributed.properties文件,并将它们部署在不同的端口上吗 另外,我是否应该将每个属性和连接器jar文件放在kafka集群的每个节点上 谢谢。在分布式模式下运行Kafka Connect时,

我在Kafka connect中有一个主题,我想将数据写入两个不同的位置。为此,我有两个自定义连接器

我不是在Confluent平台上工作。我只是在kafka集群上工作,我计划使用kafka的
connect distributed.sh

但是,我不知道如何部署这些不同的作业。我应该创建两个distributed.properties文件,并将它们部署在不同的端口上吗

另外,我是否应该将每个属性和连接器jar文件放在kafka集群的每个节点上


谢谢。

在分布式模式下运行Kafka Connect时,可以使用REST API配置连接器。API在中进行了描述。基本上,您可以获取属性文件,将其转换为JSON并将其发布到
连接地址:8083/connectors
。例如:

curl \
-X POST \
-H "Content-Type: application/json" \
--data '{ "name": "my-connector", "config": { "connector.class": "MyConnectorClass", "tasks.max": "3", "topics": "my-topics", "some-other-option": "some-value" } }' \
http://localhost:8083/connectors

Connect并不是Confluent平台所独有的。正如Kafka文档中所回答和显示的,您将使用RESTAPI创建其他连接器

不同的连接器不能使用相同的group.id以及相同的offset/status/config主题

组id(用于接收器连接器)对于连接器的名称是唯一的,而不是共享的,即使您使用了相同的主题

偏移量是为源连接器存储的,配置和状态也是由连接器名称分隔的,并不意味着对正在运行的连接器是唯一的。另外,无论如何,这些主题都不能通过RESTAPI更改

我应该把每个属性和连接器jar文件放到kafka集群的每个节点上吗


Connect应该与代理分开运行,但您应该将它们放在Connect属性文件中设置的插件路径中

是的,我知道。但我有两个不同的连接器。一个connect-distributed.properties表示一个服务。我无法将两个连接器部署到同一个服务/port/distributed.properties。因为,不同的连接器不能使用相同的group.id以及相同的offset/status/config主题。因此,我应该为两个不同的连接器部署两个不同的服务(distributed.properties)吗。。。如果连接器相互冲突,则必须运行分布式连接两次。只需复制属性文件,更改配置(端口、用户组、主题名称)并启动Kafka Connect的两个独立服务。我有两个不同的接收器连接器。那么,我可以为这些不同的连接器使用相同的offset/config/status主题吗?或者我可以只为这些不同的连接器使用配置和状态主题吗?或者我应该为所有连接器创建新主题吗?一旦启动分布式连接群集,它们必须共享相同的状态/偏移量/配置主题和内部组id,但该组id与任何实际连接器组完全不同……那么,kafka如何管理不同接收器连接器的偏移量呢?因为主题是共享的,所以包括接收器连接器在内的所有使用者的使用者组偏移量存储在“内部消费者偏移量”主题中。使用者组名称基于连接器名称。并且发布的连接器名称必须是唯一的。“连接”中的“偏移”主题仅适用于源