https://blog.csdn.net/weixin_36135773/article/details/121780095
tidb集群从ansbile转为tiup升级,官方推出的这个工具确实比ansible升级的时候快了很多倍,但升级成功率降低不少,有莫名其妙问题,比如集群提示升级成功了,实际部分组件升级失败,有集群升级完成了,节点服务还是DOWN状态…
个人还是喜欢ansible升级,但也必须谁大流…ansible在4.0.9以后升级不支持了…
我对工具看法:
ansible优点:
定制化:
从2版本到目前4版本一直通过ansible升级,升级过程各种模块化检查挺健全的,还能根据实际情况调整剧本执行情况
可读性:
升级过程异常可读性高,错误信息比较明显
成功率:
截至目前升级成功率100%
ansible缺点:
集群升级比较慢,貌似没其他缺点了.......
tiup优点:
1、集群升级比较快,貌似稳定性不好
2、功能比较齐全,各大组件撸在一起大杂烩
3、在线服务管理
tiup缺点:
1、报错信息不明显
2、稳定性不咋地,奇葩问题比较多
3、组件升级不如ansible灵活性,如滚动某服务、部署某服务等
4、其他…
ansilbe部署命令:略
tiup部署/升级总结几个点:
1、集群缩容过程:如TIKV:
缩容TIKV/pd/tidb节点 ,根据实际地址端口即可
tiup cluster scale-in test-cluster --node 172.16.0.36:20174
更新集群架构
tiup cluster prune test-cluster
##注意:如果没有先执行prune这个动作直接删除stores remove-tombstone 4 墓碑数据,下线的节点状态变N/A,集群reload时候能够恢复成 up状态
2、集群某服务版本回滚,在ansible非常方便,在tiup研究半天才搞定
对指定地服务打成tar.gz包,如回滚pd版本,其他操作类似
如pd-server这个2进制文件,直接执行tar -zcvf pd-server.tar.gz pd-server
##恢复PD集群v4.0.14版本
tiup cluster patch test-cluster storage/cluster/clusters/test-cluster/ansible-backup/resources/bin/pd-server.tar.gz -R pd
3、tiup滚动集群升级,部分成功部分失败情况下,想再次滚动集群,需要把当前最新tiup读取到的最新版本改为前一个版本,才可以再次滚动。
在测试环境滚动一个集群,tiup提示成功了:
实际就部分服务节点成功:
如果再次滚动 就会提示:Error: please specify a higher version than v4.0.15
这个滚动失败,需要注释掉一个参数即可
visudo ##模式下打开,注释如下信息即可
#Defaults requiretty
解决办法:
1、一种就是通过patch替换回来
2、解决当前滚动的异常,再修改tiup当前识别的版本再次滚动
1、 确认当前版本:tiup cluster list
2、 修改配置
vim /home/tidb/.tiup/storage/cluster/clusters/test-cluster/meta.yaml
第2行:tidb_version: v4.0.15 这个版本改成前1个版本
3、再次执行滚动
4、集群滚动过程,存在部分启动成功部分显示DOWN状态,登陆节点机器启动即可
5、当前tiup无法对监控服务进行定制化部署