在某些情况下(如硬件损坏或者操作系统损坏),您需要替换 OBServer 节点。本文介绍如何进行 OBServer 节点的替换。
适用版本
OceanBase 数据库所有版本
适用场景
在某些场景下,需要替换 OBServer 节点,例如:
硬件损坏
操作系统损坏
文件目录被误删
需要对故障 OBServer 节点进行替换。通过 OCP 来替换 OBServer 节点需要满足以下条件:
在 1-1-1 副本环境中,有空闲机器替换。
在大于 1-1-1 副本环境中,负载可以全移到其中一台 OBServer 上的场景,可以允许下线一台服务器。
在不满足以上条件的场景中,您可以通过命令行来替换 OBServer 节点。
对于文件目录被误删的场景,您可以通过清理文件目录的方式,将 OBServer 重新加入集群。
对于操作系统或硬件损坏的场景,您需要准备一台服务器作为 OBServer 加入集群。
将故障 OBServer 重新加入集群
下线故障的 OBSever。
登录 OCP。
在左侧导航栏单击 集群 ,进入 集群概览 页面。单击故障集群的集群名,进入集群操作页面。

在故障 OBServer 对应的 操作 列,展开隐藏菜单,单击 删除 ,下线故障 OBServer。

登录故障的 OBServer 所在的服务器,清理文件目录。
[root@hostname /]# rm -rf /data/1/* [root@hostname /]# rm -rf /data/log1/* [root@hostname /]# rm -rf /home/admin/oceanbase/store/*启动 observer 进程。
进入 OceanBase 数据库安装目录。
[root@hostname /]# su admin [admin@hostname /]$ cd /home/admin/oceanbase/ [admin@hostname /]$ touch /home/admin/oceanbase/run/observer.pid启动 observer 进程。
[admin@hostname /]$ cd /home/oceanbase [admin@hostname oceanbase]$ ./bin/observer
将新 OBServer 加入集群
在要加入集群的服务器上安装 OceanBase RPM 包。
有关安装 RPM 前的操作步骤,请参见《OceanBase 数据库 部署指南》中的 通过命令行配置 章节。
[root@hostname /]# rpm -ivh oceanbase-x.x.xx-xxxxxxxxxxxxxx.el7.x86_64.rpm下线故障的 OBSever。
登录 OCP。
在左侧导航栏单击 集群 ,进入 集群概览 页面。单击故障集群的集群名,进入集群操作页面。

在故障 OBServer 对应的 操作 列,展开隐藏菜单,单击 删除 ,下线故障 OBServer。

创建文件目录。
[root@hostname /]# OBCLUSTER_NAME=<cluster_name> [root@hostname /]# mkdir -p /data/1/$OBCLUSTER_NAME/{sstable,etc3,sort_dir} [root@hostname /]# mkdir -p /data/log1/$OBCLUSTER_NAME/{slog,clog,ilog,oob_clog,etc2} [root@hostname /]# mkdir -p /home/admin/oceanbase/store/$OBCLUSTER_NAME [root@hostname /]# chown -RL admin:admin /data/1 [root@hostname /]# chown -RL admin:admin /home/admin/oceanbase [root@hostname /]# chown -RL admin:admin /data/log1 [root@hostname /]# ln -sf /data/1/$OBCLUSTER_NAME/sstable /home/admin/oceanbase/store/$OBCLUSTER_NAME/sstable [root@hostname /]# ln -sf /data/1/$OBCLUSTER_NAME/sort_dir /home/admin/oceanbase/store/$OBCLUSTER_NAME/sort_dir [root@hostname /]# ln -sf /data/log1/$OBCLUSTER_NAME/slog /home/admin/oceanbase/store/$OBCLUSTER_NAME/slog [root@hostname /]# ln -sf /data/log1/$OBCLUSTER_NAME/clog /home/admin/oceanbase/store/$OBCLUSTER_NAME/clog [root@hostname /]# ln -sf /data/log1/$OBCLUSTER_NAME/ilog /home/admin/oceanbase/store/$OBCLUSTER_NAME/ilog [root@hostname /]# ln -sf /data/log1/$OBCLUSTER_NAME/oob_clog /home/admin/oceanbase/store/$OBCLUSTER_NAME/oob_clog启动 observer 进程。
进入 OceanBase 数据库安装目录。
[root@hostname /]# su admin [admin@hostname /]$ cd /home/admin/oceanbase/ [admin@hostname /]$ touch /home/admin/oceanbase/run/observer.pid设置 ulimit 限制与环境变量。
ulimit 建议设置为 10240。
[admin@hostname /]$ ulimit -s 10240 [admin@hostname /]$ ulimit -c unlimited [admin@hostname /]$ LD_LIBRARY_PATH=/home/admin/oceanbase/lib:/usr/local/lib:/usr/lib:/usr/lib64:/usr/local/lib64:启动 observer 进程。
[admin@hostname /]$ cd /home/oceanbase [admin@hostname oceanbase]$ ./bin/observer