gpt4 book ai didi

apache-kafka - 在 Kafka-Connect 中自动重新连接失败的任务

转载 作者:行者123 更新时间:2023-12-03 18:44:21 26 4
gpt4 key购买 nike

我正在使用带有 Kafka-connect 的 mongo-source 插件。
我检查了源任务状态,它正在运行并监听 mongo 集合。

我手动停止了 mongod 服务并等待了大约 1 分钟,然后我再次启动它。

我检查了源任务,看看是否有任何东西会自行修复,30 分钟后似乎没有任何效果。

只有在重新启动连接器后,它才再次开始工作。

由于 mongo-source 没有设置超时时重试+退避的选项,我搜索了一个适合简单场景的配置:使用 Kafka-connect 配置在 X 时间后重新启动失败的任务。找不到任何..:/
我可以用一个简单的脚本来做到这一点,但是 Kafka-connect 中必须有一些东西来管理失败的任务。甚至在 mongo-source 中……我不希望它在 1 分钟后就失败得这么快……:/

最佳答案

除了使用 REST API 查找失败的任务并提交重新启动请求,然后定期运行之外,别无他法。例如

curl -s "http://localhost:8083/connectors?expand=status" | \
jq -c -M 'map({name: .status.name } + {tasks: .status.tasks}) | .[] | {task: ((.tasks[]) + {name: .name})} | select(.task.state=="FAILED") | {name: .task.name, task_id: .task.id|tostring} | ("/connectors/"+ .name + "/tasks/" + .task_id + "/restart")' | \
xargs -I{connector_and_task} curl -v -X POST "http://localhost:8083"\{connector_and_task\}

来源: https://rmoff.net/2019/06/06/automatically-restarting-failed-kafka-connect-tasks/

关于apache-kafka - 在 Kafka-Connect 中自动重新连接失败的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59652556/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com