apache-kafka - Confluent Kafka连接分布式模式jdbc连接器
问题描述
我们已经使用 jdbc 独立连接器成功地使用了 MySQL - 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 confluent-kafka-connect
时,它都会运行服务并启动定义的连接器,/etc/kafka-connect-*/
就像您手动运行独立连接器时一样,手动提供属性文件的路径。
解决方案
它运行服务并启动下定义的连接器
/etc/kafka-connect-*/
这不是分布式模式的工作方式......它不知道您要加载哪些属性文件,并且它不扫描那些文件夹1
使用独立模式N+1
,您提供的属性文件会立即加载,是的,但是对于连接分布式,您必须使用HTTP POST 调用 Connect REST API。
Confluent Control Center 或 Landoop 的 Connect UI 可以为这些操作提供一个很好的管理 Web 门户。
顺便说一句,如果您有多个代理,我建议您增加connect-distributed.properties
文件中连接主题的副本因子。
1.如果这样做可能是一个不错的功能,但是您必须确保连接器在分布式模式下永远不会被删除/停止,并且您最终会处于与正在运行的内容和文件系统上的文件不一致的状态。
推荐阅读
- python - 在熊猫中将字符串转换为浮点数
- ios - 以编程方式更改 CPTabBarTemplate 的 selectedTemplate
- azure-devops - 如何为组织中的所有成员授予对项目的访问权限?
- python - python :- sublime 中用户问题的输入
- replace - 删除除 Notepad++ 中一行的前 3 个单词之外的所有内容
- java - 如何获取每行的最后一个索引?
- javascript - Html 文件和 css 实现无法在我的 chrome 浏览器上正确显示
- amazon-web-services - AWS Data Pipeline 中 EC2 资源的 AWS IAM 设置
- git - 推入空的 git repo 时“无法推送引用”
- css - Razor 类库中的 Blazor 组件(CSS 隔离)