• OceanBase 4.0 all-in-one 版本如何离线升级 obd


    今天遇到了一个问题,现象是这样的。

    问题出现的原因:

    在测试 ob 4.0 allinone 版本时,我用了自动部署的方式(autodeploy),发现部署完的集群无法启动,错误原因可以参考这里:https://ask.oceanbase.com/t/topic/35601792。

    [admin@dbs06 conf]$ obd cluster start obcluster
    Get local repositories ok
    Search plugins ok
    Open ssh connection ok
    Load cluster param plugin ok
    Check before start observer x
    [ERROR] (172.16.10.128): when production_mode is True, memory_limit can not be less then 16.0G
    [WARN] (172.16.10.128) clog and data use the same disk (/app)
    [ERROR] (172.16.10.128) /app not enough disk space. (Avail: 6.5T, Need: 9.0T)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    这个找人确认了一下是 obd 1.6.0 的一个问题,在 obd 1.6.1 版本上已经解决了。

    如何解决:

    正常来说,其实这个问题在 obd 1.6.1 中已经解决了,直接升级 obd 即可。

    升级 obd 有两种,在线升级和离线升级。在线升级的方法比较简单,这里不详细展开了,可以直接执行命令: sudo obd update,它会自动联网升级

    这里重点说一下离线升级,我这里因为没有外网条件,所以只能离线搞,但是找了一圈没有找到教程,索性我就直接下载了一个 rpm 包,安装完后做了一下文件替换。主要操作步骤如下:

    1. 从 ob 官网下载 obd 最新安装包
      在这里插入图片描述
    2. 上传到服务器上,直接 rpm 安装
    sudo rpm -ivh  ob-deploy-1.6.1-4.el7.x86_64.rpm
    
    • 1
    1. 把对应的文件复制一下,替换 allinone 安装包中的内容
      查了一下,单独的 obd 安装包会自动将 bin 安装到系统 /bin 目录下,将 usr 安装到 /usr/obd 下,所以我们直接把这两部分内容,替换掉 allinone 包下的内容,如下:
    cd /home/admin/oceanbase-all-in-one/obd/usr
    # 备份一下 usr 下的内容,避免失败了没法回退
    cp /bin/obd bin/obd
    rm -rf obd/*
    cp -Rf /usr/obd/* obd/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 重新执行一下 install.sh 脚本
    cd /home/admin/oceanbase-all-in-one/bin
    ./install.sh
    
    • 1
    • 2

    这样执行一遍基本就能完成升级了,可以重新自动部署集群继续使用。这种方法不确定是否存在风险,仅供大家参考。后面跟官方沟通获得更合适的离线更新方法再更新给大家~


    增加一个官方提供的正常升级步骤:

    首先还是把新的 obd rpm 包上传到服务器上;

    然后采用 obd 命令添加到本地镜像仓库:

    obd mirror clone ob-deploy-1.6.1-4.el7.x86_64.rpm
    
    • 1

    最后,直接执行 obd update 命令,obd 会自动升级到最新版本。

    注意:当前官方提供的这种操作,只能在 root 用户的安装环境下进行,其他用户会存在权限问题;这个问题会在后续 obd 版本中修复,如果您看到这个帖子时 obd 版本已经 > 1.6.1 并且是非 root 用户更新 obd,可以尝试官方提供的升级步骤是否可用,如不可用可以参考我上面覆盖目录的办法;如果当前还是 1.6.0/1.6.1 版本的 obd 在非 root 用户下,那只能暂时使用我的方法进行操作。

    End~

  • 相关阅读:
    dbeaver下载镜像站
    uos服务器系统源码安装Fastdfs
    java集合
    GenericServlet、ServletConfig和ServletContext
    链式二叉树的实现及遍历(C语言版)
    亿某通电子文档安全管理系统任意文件上传漏洞 CNVD-2023-59471
    后端程序员实现一个IP归属地的小程序
    【英雄哥七月集训】第 04天:贪心
    2022IDEA的下载、安装、配置与使用
    MySQL的安装教程(嗷嗷详细,包教包会~)
  • 原文地址:https://blog.csdn.net/chrisy521/article/details/128021744