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

    我们安装的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

终于成功了。

TiDB在更新版本的时候初始化Prometheus的配置文件失败的更多相关文章

  1. ROS(indigo) 安装和使用更新版本的Gazebo----3,4,5,6,7 附:中国机器人大赛中型组仿真比赛说明

    ROS(indigo) 安装和使用更新版本的Gazebo,本文以7为例. Gazebo7支持更多新的功能,如果使用下面命令安装ROS(indigo): ~$ sudo apt-get install ...

  2. 安装TortoiseGit出现提示“您必须安装带有更新版本Windows Installer服务的Windows Service Pack”-解决方法

    我的系统是xp sp3安装TortoiseGit时出现了错误提示“您必须安装带有更新版本Windows Installer服务的Windows Service Pack”. 解决方法,到微软官方下载相 ...

  3. struts2更新版本操作有关事项备注

    struts2更新版本操作有关事项备注, 更新主要jar包:struts2-convention-plugin-version,struts2-core-version, struts2-spring ...

  4. [转] Android SDK manager 无法获取更新版本列表

      打开这个网址(LINK)就可以看到adt的详细信息. 或者直接在你的eclipse的Help > Install New Software里面add,地址直接输入 https://dl-ss ...

  5. 解决xp下无法通过windows installer服务安装此安装程序包。您必须安装带有更新版本Wi

    今天装 tortoisegit 的时候发现安装包不能使用.报错无法通过windows installer服务安装此安装程序包.您必须安装带有更新版本Windows Installer服务的Window ...

  6. android 检查软件是否有更新版本

    import java.net.HttpURLConnection; import java.net.URL; import java.util.HashMap; import com.yuxin.m ...

  7. Fastjson 爆出远程代码执行高危漏洞,更新版本已修复

    fastjson近日曝出代码执行漏洞,恶意用户可利用此漏洞进行远程代码执行,入侵服务器,漏洞评级为“高危”. 基本介绍fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器 ...

  8. Android 6.0 7.0 8.0 一个简单的app内更新版本-okgo app版本更新

    登陆时splash初始页调用接口检查app版本.如有更新,使用okGo的文件下载,保存到指定位置,调用Android安装apk. <!-- Android 8.0 (Android O)为了针对 ...

  9. 无法通过windows installer服务安装此安装程序包。您必须安装带有更新版本windows Installer服务的Windows

    无法通过windows installer服务安装此安装程序包.您必须安装带有更新版本windows installer服务的Windows 出现这个问题不让安装程序,可以到微软网站更新Windows ...

随机推荐

  1. IDE - vscode

    [一]VSCODE官方插件库 https://marketplace.visualstudio.com/ 最好能在文件->首选项->设置中,搜索update,将Auto Update关闭, ...

  2. VXLAN学习之路-结合VRF在Linux中实践VXLAN网络

    一.概述 近期在在搞网络安全HCIE.CISP的认证的事,顺便将VXLAN技术再次系统的学习一下,学习过程中看到云原生实验室里的一篇文章,就是关于VXLAN在Linux系统中的实践,感觉文章写得很好, ...

  3. docker理论题-02

    1.什么是namespace? 答:名称空间,作用隔离容器 2.namespace隔离有那些? 答:ipc:共享内存.消息队列 mnt:挂载点 net:网络栈 uts:域,主机名 user:用户,组 ...

  4. axios增加自定义headers,页面上出现,服务端收不到

    问题 axios增加自定义headers,页面上出现,服务端收不到 原因 vue-cli起的服务是用node-http-proxy中间件处理的 默认是只有几个常用的header,自定义header是直 ...

  5. C++ part9

    1.静态多态和动态多态 静态多态:函数重载,模板.编译期间完成. 动态多态:虚函数.运行期间实现. 2.模板的实现和优缺点 函数模板的代码并不能直接编译成二进制代码,而是要实例出一个模板实例.写了模板 ...

  6. JS编程练习:将目标节点内部的子节点逆序

    将目标节点内部的子节点逆序 1 <body> 2 <div> 3 <p></p> 4 <span></span> 5 <e ...

  7. matplotlib 单figure多图

    method 1 import numpy as np import matplotlib.pyplot as plt fg, axes = plt.subplots(1, 2, figsize=(1 ...

  8. Chrome new features preview

    Chrome new features preview CSS Overview https://css-tricks.com/new-in-chrome-css-overview/ capture ...

  9. vue & child component & props

    vue & child component & props vue pass data to child component https://vuejs.org/v2/guide/co ...

  10. ES-Next classes static properties

    ES-Next classes static properties https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/ ...