apache-kafka - Confluence Kafka 连接分布式模式 jdbc 连接器

标签 apache-kafka apache-kafka-connect confluent-platform

我们已经成功使用 MySQL - 使用 jdbc 独立连接器进行 kafka 数据摄取,但现在在分布式模式下使用相同的连接器(作为 kafka 连接服务)时面临问题。

用于独立连接器的命令,工作正常 -

/usr/bin/connect-standalone /etc/kafka/connect-standalone.properties /etc/kafka-connect-jdbc/source-quickstart-mysql.properties

现在我们已经停止了这个并以分布式模式启动了kafka连接服务,如下 -

systemctl status confluent-kafka-connect
● confluent-kafka-connect.service - Apache Kafka Connect - distributed
   Loaded: loaded (/usr/lib/systemd/system/confluent-kafka-connect.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2018-11-14 22:52:49 CET; 41min ago
     Docs: http://docs.confluent.io/
 Main PID: 130178 (java)
   CGroup: /system.slice/confluent-kafka-connect.service
           └─130178 java -Xms256M -Xmx2G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -Djava.a...

2 个节点当前正在使用相同的 connect-distributed.properties 文件运行连接服务。

bootstrap.servers=node1IP:9092,node2IP:9092
group.id=connect-cluster
key.converter.schemas.enable=true
value.converter.schemas.enable=true
offset.storage.topic=connect-offsets
offset.storage.replication.factor=1
config.storage.topic=connect-configs
config.storage.replication.factor=1
status.storage.topic=connect-status
status.storage.replication.factor=1
offset.flush.interval.ms=10000
plugin.path=/usr/share/java

连接服务已启动并正在运行,但它不会加载 /etc/kafka/connect-standalone.properties 下定义的连接器。

应该对服务执行什么操作,以便每当您点击命令 systemctl start confluence-kafka-connect 时,它都会运行该服务并启动 /etc/kafka- 下定义的连接器connect-*/ 就像您运行独立连接器时手动提供属性文件的路径一样。

最佳答案

it runs the service and starts the defined connectors under /etc/kafka-connect-*/

这不是分布式模式的工作原理...它不知道您要加载哪些属性文件,并且不会扫描这些文件夹1

在独立模式下,您提供的 N+1 属性文件会立即加载,是的,但是对于分布式连接,您必须使用 HTTP POST calls to the Connect REST API


Confluence 控制中心或 Landoop 的 Connect UI 可以为这些操作提供一个很好的管理 Web 门户。

顺便说一句,如果您有多个代理,我建议在 connect-distributed.properties 文件中增加这些连接主题的副本因子。

1。 如果确实如此,这可能是一个很好的功能,但是您必须确保连接器在分布式模式下永远不会被删除/停止,并且您最终会处于与正在运行的内容和文件系统上的文件不一致的状态。

关于apache-kafka - Confluence Kafka 连接分布式模式 jdbc 连接器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53309858/

相关文章:

memory - 随着时间的推移,KTable/KStream 内存消耗

apache-kafka - kafka 是否适合小规模的微服务环境,还是我应该寻找轻量级的替代品

apache-kafka - 微服务数据复制模式

java - IdentityMapCapacity 在架构注册表中意味着什么

java - 从 Java 创建 `KafkaServer`

jdbc - 使用 kafka-connect 从多个主题更新到多个表

apache-kafka - 如何配置 Confluent Platform Kafka 连接日志?

postgresql - Debezium 可以捕获 Postges 物化 View 的变化吗

apache-kafka-connect - kafka connect - jdbc sink sql 异常

amazon-s3 - 正确配置 Kafka Connect S3 Sink TimeBasedPartitioner