升级过程
从v7.1.1升级到v7.5.0
按照官网文档:https://docs.pingcap.com/zh/tidb/stable/upgrade-tidb-using-tiup
一开始不停机升级,但是到tidb的时候就是不行,升级失败,但是从dashboard看到有一个节点tidb又已经是新版本。集群能用,集群信息显示都在线,但是Linux上tiup cluster display tidb-test查看又显示有一个tidb节点 down.
尝试把集群停机后再升级。
集群停机命令:
tiup cluster stop tidb-test
再执行升级命令:
tiup cluster upgrade tidb-test v7.5.0
确实都升级成功了
再启动集群:
tiup cluster start tidb-test
结果tidb都启动不来。百度到大概是路径权限不对,日志里面有提示找不到/tmp/tidb/tmp_ddl-4000。在还没有这个目录的节点手动创建:
mkdir -p /tmp/tidb/tmp_ddl-4000
并授权:chown -R tidb.tidb /tmp/tidb
后面再看集群状态:
tiup cluster display tidb-test
tidb节点已经启了!
但是还有 prometheus ,alertmanager,cdc,grafana,tiflash 这些都down的状态,dashboard上概览页提示:集群中未启动必要组件 NgMonitoring,通过页面上的链接,点击就跳转到下面文档:
集群中未启动必要组件 NgMonitoring
按照我部署的方式:使用 TiUP 部署的集群
按照上面的方式操作
依次执行:
tiup update --all
编辑配置里面没有改动,因为我的配置已经存在对应参数
再执行:
tiup cluster reload tidb-test --role prometheus
再看状态:
tiup cluster display tidb-test
这时发现prometheus正常了。
于是猜测,其他所有down状态的角色都如此试试
tiup cluster reload tidb-test --role alertmanager
tiup cluster reload tidb-test --role cdc
tiup cluster reload tidb-test --role grafana
tiup cluster reload tidb-test --role tiflash
果然,都正常了!
总结猜测
官方说了,v7.1.1到v7.5.0是不支持平滑升级,所以就是要停机升级。




