如何暴露专用Apache Kafka MirrorMaker 2.0 Rest API及相关问题咨询
关于MirrorMaker 2.0专用集群的REST访问与连接器整合问题
1. 专用模式下内部REST端口能否对外暴露用于curl请求
不能直接实现这个需求。dedicated.mode.enable.internal.rest=true开启的端口是仅用于MirrorMaker 2.0集群节点间内部协调通信的,并非兼容标准Kafka Connect的外部REST API。用./bin/connect-mirror-maker启动的专用MM2集群,该内部端口不支持GET /connectors这类常规Connect REST请求,因此你尝试的curl调用会无效。
如果需要获取连接器/任务状态,有两种可行方案:
- 读取MM2内部状态主题:专用MM2会像普通Connect集群一样,将连接器配置、任务状态写入
connect-configs、connect-status、connect-offsets内部主题。你可以用Kafka命令行工具查询这些主题内容,比如:# 查看任务状态主题内容 ./bin/kafka-console-consumer.sh --bootstrap-server <你的Kafka Broker地址> --topic connect-status --from-beginning --property print.key=true - 放弃专用模式,将MM2作为连接器部署到现有Kafka Connect集群:这是官方推荐的支持外部REST访问的方式,虽然你提到不想手动添加,但这是目前唯一能通过标准Connect REST API监控MM2状态的路径。
2. 能否将专用MM2集群的连接器加入现有Connect集群
不行。专用MM2集群是独立的Kafka Connect实例,它的连接器配置、状态数据都存储在自身的内部Kafka主题中,无法直接与另一个独立的Connect集群共享或合并连接器。
如果需要统一通过REST接口监控MM2任务状态,唯一的办法是将MM2连接器(如MirrorSourceConnector、MirrorSinkConnector)部署到你已有的Kafka Connect集群中,这样就能通过该集群的标准REST端口(通常为8083)执行curl http://<Connect节点地址>:8083/connectors这类请求查看状态。
内容的提问来源于stack exchange,提问作者musmil
相关产品推荐
相关产品推荐

