我们已经成功使用 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/