是的,restart prometheus 可以,但是reload prometheus 就不行
另外有2个比较关键点,
1.之前通过看代码发现之所以reload prometheus 不成功,是因为卡在了init config,我通过添加参数 --ignore-config-check 就可以reload prometheus 成功
tiup cluster reload tidb-test -R prometheus --ignore-config-check
所以,问题应该就在这个地方了
2.不仅reload prometheus 失败,reload tidb 节点也是失败的,但是restart prometheus是成功的
reload 时候会去执行 init conifg,而在 init config 的流程中,会有 config check 这一步骤。
check conifg 的时候联网从 tiup mirror 获取包内的 binary 路径,如果在源内没有的话,就会报错,check failed
其实真正的情况是
并不一定要去找具体binary 路径,而是要看组件.json 里面有没有相应的组件版本的记录
比如mirror 是5.3的,要去重启1个4.0集群的prometheus 组件,那么逻辑就是
要看mirror 里面的drainer.json 有没有4.0 版本的drainer 记录,如果没有的话就报错了
找具体的 binary 路径和 check xx.json, 行为上其实是一直的呀? binary 也需要去 check xx.json 的
还是不一样吧
你说的找具体binary 路径 是要看那个tar包是不是真正存在于mirror 里面还是?
有 xx.json 的元数据文件,以及元数据中有对应版本的信息,就说明 mirror 中存在对应的 tar 包,如果不存在,那就是 mirror 损坏了
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。