zoukankan      html  css  js  c++  java
  • TiDB在更新版本的时候初始化Prometheus的配置文件失败

    一、背景是更换版本了之后,按照正常扩容节点也会报错。

        我们安装的TiDB版本是v4.0.0,因为环境还在试用阶段,所以会经常增删节点。原因是我们违背官方说明,强行用机械盘上了,跑不过单机的mysql,所以加了很多tikv节点,一共8个。每次都很顺利,而且在grafana也会调整展示增删的节点。这次因为性能和PD面板功能的原因,我升级到了v4.0.7版本,

    tiup cluster upgrade lgdb v4.0.7

    升级的时候也没有报错。但是我在扩容PD的时候就报错了,

    tiup cluster scale-out lgdb scale-out-pd.yaml

    因为处理问题的时候比较紧急,这博文是事后写的,所以无法截图保留。扩容的配置文件。

    cat scale-out-lg-pd.yaml
    pd_servers:
      - host: 10.3.22.128

    我以为有报错是不成功的,又执行了一下扩容命令,报的是端口冲突的错误,然后我觉得可能扩容成功的了。就查看了一下集群状态。

    tiup cluster display lgdb

    发现节点有了,只是在grafana那里没有展示。后来我又扩展了tikv,也是报同样类似的错误:init config failed,下图是我Google的历史记录,不过完全没有参考。

    二、重现错误。

        尽管该集群是使用,我也不能耽搁其他同事的使用,我就又搭了一个环境来复现这种错误。

    tiup cluster deploy tidb v4.0.0 ./topology.yaml --user tidb --skip-create-user

    仍然是v4.0.0版本,然后升级到v4.0.7版本。然后改名,

    tiup cluster rename tidb njdb

    终于也报 init config failed 了,同时也有结论了,果然是版本引起无法初始化Prometheus的配置文件。然后我可以在测试的TiDB集群上调试,寻找最合理的及决方案。

    三、问题的解决。

        首先避免不了一通百度、Google,完全没有相关描述,倒是有人遇到同样的问题,但是没人回答,后来我回答了。首先在Prometheus节点上的日志,也只是说 init config failed ,并没有说明原因。就到看节点的配置文件。什么重启节点,重启集群,修改中控机的配置文件……全部都试过了,还是没用。也想到了回退版本,幸好没有用到。最后在看官方文档,无意中发现tiup客户端需要更新。然后我就更新了tiup客户端。

    tiup update cluster

    然后执行重载配置,

    tiup cluster reload njdb

    终于成功了。

  • 相关阅读:
    【Rust】匹配绑定
    【Rust】iflet
    【Rust】结构体匹配
    【Rust】闭包
    【Rust】函数
    【Rust】方法
    【Rust】whilelet
    【Rust】匹配保护
    【Rust】闭包捕获变量
    优先队列 安静点
  • 原文地址:https://www.cnblogs.com/hodge01/p/14511058.html
Copyright © 2011-2022 走看看