如何开始在开源 Apache Kafka 中运行 kafka 连接器?
Posted
技术标签:
【中文标题】如何开始在开源 Apache Kafka 中运行 kafka 连接器?【英文标题】:How to start running kafka connector in Open Source Apache Kafka? 【发布时间】:2022-01-13 04:07:04 【问题描述】:我试图使用开源 apache kafka 运行 Kafka 连接器(不使用 confluent)
bin/connect-distributed.sh config/connect-distributed.properties
这工作正常,但这种方式只会启动 Kafka 连接器,我如何加载社区连接器?
bin/connect-distributed.sh config/connect-distributed.properties --config filesource.properties
bin/connect-distributed.sh config/connect-distributed.properties filesource.properties
我尝试了上面的两个命令,都没有报错,但是加载连接器模块失败。 另一个问题,我输入什么命令来检查连接器的状态?
【问题讨论】:
【参考方案1】:关于检查连接器的状态,可以使用 curl GET 命令。
curl -X GET http://localhost:8083/connectors/connector_name/status|jq
jq 是可选的,它提供了更好的可视化。如果你想检查所有的连接器,我可以推荐我使用的这个脚本:
curl -s "http://localhost:8083/connectors"| jq '.[]'| xargs -Iconnector_name curl -s "http://localhost:8083/connectors/"connector_name"/status"| jq -c -M '[.name,.connector.state,.tasks[].state]|join(":|:")'| column -s : -t| sed 's/\"//g'| sort
我强烈推荐使用 jq 来做这个。对于每个任务,您应该会看到输出为“正在运行”、“失败”或“未分配”。
编辑: 创建连接器:
curl -XPOST --header "Content-Type: application/json" localhost:8083/connectors -d
'
"name": "your_connector",
"config":
"connector.class": "io.debezium.connector.oracle.OracleConnector",
"database.user": "user123"
'
【讨论】:
有没有办法使用原生 kafka 命令代替 curl?还是默认的本地主机端口 8083?我相信我的端口是 9092 什么的 我相信 9092 是引导服务器的默认值。 here 它说 8083 是连接 rest api 的默认值。此外,我还没有看到任何其他方式或命令来管理连接器。 "error_code": 404, "message": "No status found for connector connector_name" 你知道加载连接器的命令是什么吗?我只设法启动了 kafka connect worker。 首先检查创建了哪些连接器。curl -X GET http://localhost:8083/connectors
应该这样做。如果它没有返回任何内容,则意味着没有创建连接器。顺便说一句,您应该使用您自己的连接器名称更改 connector_name
字段。以上是关于如何开始在开源 Apache Kafka 中运行 kafka 连接器?的主要内容,如果未能解决你的问题,请参考以下文章