Kafka Connect:多个独立连接器可以写入同一个 HDFS 目录吗?

Kafka Connect: can multiple standalone connectors write to the same HDFS directory?

对于我们的管道,我们有大约 40 个主题(每个主题 10-25 个分区),我们希望在独立模式下使用 HDFS 3 接收器连接器将它们写入同一个 HDFS 目录(分布式不适用于我们当前的设置) .我们已尝试 运行 一个连接器上的所有主题,但在需要重新启动时遇到恢复偏移量的问题。

如果我们将主题划分到不同的独立连接器中,它们是否都可以写入同一个 HDFS 目录?由于连接器然后按主题组织 HDFS 中的所有文件,我认为这应该不是问题,但我想知道是否有人对此设置有经验。

基本示例: 连接器 1 配置

name=connect-1
connector.class=io.confluent.connect.hdfs3.Hdfs3SinkConnector
topics=topic1
hdfs.url=hdfs://kafkaOutput

连接器 2 配置

name=connect-2
connector.class=io.confluent.connect.hdfs3.Hdfs3SinkConnector
topics=topic2
hdfs.url=hdfs://kafkaOutput

distributed doesn't work for our current setup

您应该能够 运行 connect-distibured 在与 connect-standalone 完全相同的节点中 运行。

We have tried running all the topics on one connector but encounter problems recovering offsets if it needs to be restarted

是的,我建议不要将所有 topics 捆绑到一个连接器中。

If we divide the topics among different standalone connectors, can they all write into the same HDFS directory?

这是我个人的建议,是的,他们可以,因为 HDFS 路径由主题名称命名,进一步由分区方案分割


注意:以下允许适用于所有其他存储连接器(S3 和 GCS)