【产品名称】observer
【产品版本】v3.1.1
【问题描述】我自己通过源码(v3.1.2)编译出observer, 如何升级到已运行的集群(正运行的集群observer是v3.1.1版本)
【产品名称】observer
【产品版本】v3.1.1
【问题描述】我自己通过源码(v3.1.2)编译出observer, 如何升级到已运行的集群(正运行的集群observer是v3.1.1版本)
需要一个升级步骤, 3.1.2 改了schema, 不能直接binary 替换, 需要走obd 升级流程, 稍微等一下, 我发一个升级流程文档
好的, 那我自己编译3.1.1 debug版本,是不是可以直接binary 替换? binary替换的话,如果是一个较多节点的集群,有没有什么步骤或者注意事项,我看社区文档也没有具体说,能不能出一个详细点从编译到替换到远程调试的文章
查看obd的文档里面有升级命令:https://github.com/oceanbase/obdeploy/blob/master/docs/docs-cn/obd-commands/cluster-commands.md
非github官方release的包,如自己编译的312,obd是支持升级的,但不保证升级之后是正常的,没有兼容性问题;目前只保证ob github上官方发布的版本的兼容性;
obd mirror create -n oceanbase-ce -V 3.1.4-1 -p ./usr/local -t my-oceanbase
可以看看这个 https://wangcy6.github.io/post/oceanbase/2022/oceanbase_day2/
开发部分
debug mode
bash build.sh debug --init --make -j8
cd build_debug
/oceanbase/oceanbase/build_debug
以本地目录为基础创建一个镜像。此命令主要用于使用 OBD 启动自行编译的 OceanBase 开源软件,您可以通过此命令将编译产物加入本地仓库,之后就可以使用 obd cluster 相关的命令启动它
make DESTDIR=./ install
1.1 在线安装 OBD
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo
sudo yum install -y ob-deploy # 该操作只需要在 OB 中控机上执行,因为 OBD 是一个黑屏部署、管理和运维工具,统一从一台机器上发起操作,所以不需要每台机器均安装
obd mirror create -n oceanbase-ce -V 3.1.4-1 -p ./usr/local -t my-oceanbase
obd mirror list
+------------------------------------------------------------------+
| Mirror Repository List |
+----------------------------+--------+---------+------------------+
| SectionName | Type | Enabled | Update Time |
+----------------------------+--------+---------+------------------+
| oceanbase.community.stable | remote | False | 2022-08-01 19:49 |
| oceanbase.development-kit | remote | False | 2022-08-01 19:49 |
| local | local | - | 2022-08-02 10:59 |
离线安装部署,必须禁用远程仓库:
禁用远程仓库
obd mirror disable remote
Disable remote ok
[ERROR] Repository(/root/.obd/repository/my-oceanbase/3.1.4-1/my-oceanbase) existed
[root@node1 build_debug]# obd mirror create -n oceanbase-ce -V 3.1.4-1 -p ./usr/local -t
[root@node1 build_debug]# obd mirror create -n oceanbase-ce -V 3.1.4-1 -p ./usr/local -t my-oceanbase
Package ok
name: oceanbase-ce
version: 3.1.4-1
release:20220814195653
arch: x86_64
后续直接编译好的程序
直接 cp /root/oceanbase/build_debug/src/observer/observer /root/observer/bin/
后续修改的源码编译后md5会变,直接cp 到home_path 可以么?
只能cp吗?官方有提供替换方式吗