OceanBase 集群搭建过程中问题分享
OceanBase 集群搭建过程中问题分享 来源: https://www.ucloud.cn/yun/129870.html 作者: IT那活儿 发布日期: 发布于2023 01 11 13:20 OceanBase 集群搭建过程中问题分享 本次主要分享下OceanBase 升级过程中遇到过的一些问题,后续如果大家也
来源: https://www.ucloud.cn/yun/129870.html 作者: IT那活儿 发布日期: 发布于2023-01-11 13:20
OceanBase 集群搭建过程中问题分享
本次主要分享下OceanBase 升级过程中遇到过的一些问题,后续如果大家也遇到类似问题可以参考。
一.事件背景
客户有一套测试OceanBase 集群采用ocp+oms+1-1-1的部署架构,observer版本为2.2.73,obproxy版本为1.8.3,因为测试需要要升级为与生产一致版本,observer需要升级为2.2.76版本,obproxy需要升级到1.8.6版本。这里把如何升级以及遇到的小问题分享给大家。
二.升级描述
OceanBase 升级前需要检查环境,如检查节点状态、分区个数、历史合并情况等,然后升级前还需要执行一次手工合并。在早期需要手工黑屏去轮流升级并重启zone,但是现在都可以通过ocp白屏方式升级。
Ocp升级observer方式如下:找到要升级的集群,进去之后右上角就有升级选项


在升级版本中可以选择上传需要升级的版本包(一般高版本会有低版本依赖,可以直接升级,也有特殊情况)

Obproxy升级的话在新版本的ocp中左侧菜单栏直接点开obproxy,就可以选择集群升级。
下方图片是老点的ocp版本需要先点击ocp平台右上角的回到旧版才可以找到,需要手工选择所有节点升级。

三.问题描述及解决方案
问题一:
因为observer需要从2.2.73升级到2.2.76,所以一开始我只找了2.2.76的软件包,前面也说了一般会自动解决依赖的,但是升级时ocp报错。
发生一个未知的错误,错误原因:upgrade path not found,错误信息:cannot find upgrade path from 2.2.73-20201206214840 to 2.2.76-20210517204338,请联系管理员
其实这个问题应该先排查另个问题,当时忽略了,一会下面会介绍。我当时以为是没有自动找依赖,所以把2.2.74和2.2.75版本包都传上去了,想手动迭代升级。在执行2.2.74版本升级时子任务报错,查看日志发现
rpm2cpio /home/……/OceanBase -2.2.74-xxx.rpm |cpio -id解压报错
解决方法:
手工验证了下2.2.75的包是可以手工解压的,与ob沟通发现这个包大小有问题,可能是打包的时候有文件丢失了。
Ob重新打了个新的版本包发给我,重试升级操作执行成功
问题二:
在升级2.2.75时再次出现upgrade path not found,意识到可能是ocp升级配置参数的问题,在ocp主机进入ocp的docker,检查下图文件发现果然最后的版本只配置到2.2.74。

解决办法:
手动添加2.2.75和2.2.76升级版本信息(注意格式,空格、换行)
然后再次执行升级操作,可以正常升级
四.经验总结
OceanBase 云平台(OceanBase Cloud Platform,OCP)伴随 OceanBase 数据库而生,是一款以 OceanBase 为核心的企业级数据库管理平台。随着发展ocp也不断在完善,现在所有的集群安装、管理、备份、升级等操作都可以白屏操作,大大减少了维护的工作量。相比传统的黑屏方式减少了很多风险,提高了效率。虽然还需要人工干预一些检查及问题排查,但仍然改变不了他解放了维护人员大量的工作的现实。
行之所向,莫问远方。

END
更多精彩干货分享
点击下方名片关注
IT那活儿
