OceanBase—02(入门篇——对于单副本单节点,由1个observer扩容为3个observer集群)——之前的记录,有的问题未解决,新版未尝试
- 1、前言—安装单副本单节点集群
- 1.1 docker安装OB
- 2、查看现有集群情况
- 2.1 进入容器,使用obd命令查看
- 2.2 连接OB,查看节点信息等
- 2.2.1 __all_server
- 2.2.2 DBA_ob_servers
- 2.3 查看现有资源规格、租户等情况
- 3、扩容,增加observer节点,先增加zone
- 3.1、添加 zone2、zone3,并启动zone2、zone3
- 3.1.1 查看当前zone的情况
- 3.1.1 添加 zone2,并启动zone2
- 3.1.2 添加 zone3,并启动zone3,并查看添加后的zone_list
- 4. 安装新的OBserver
- 4.1 创建目录(备用)
- 4.2 安装rpm包(先安装依赖库)
- 4.3 配置环境变量
- 4.4 启动 observer 进程
- 4.4.1 获取集群ID
- 4.4.2 获取网卡名
- 4.4.3 启动进程
- 4.5
- 5、遇到的问题
- 5.1 deploy 失败
- 5.2 启动 observer 进程报错
- 5.2.1 错误描述
- 5.2.1 解决问题
- 4.2 ERROR 4012 (HY000): Timeout
- 4.2.1 问题描述
- 4.2.2 解决问题
- 4.1 问题1—执行添加observer失败
- 4.1.1 问题详细
- 4.1.2 解决问题
- 4.2 ERROR 4012 (HY000): Timeout
- 4.2.1 解决问题
1、前言—安装单副本单节点集群
1.1 docker安装OB
-
本篇文章是在上篇文章的基础上进行扩容,上篇文章——使用docker安装单副本单节点集群,如下:
OceanBase—01(入门篇——使用docker安装OceanBase以及介绍连接OB的几种方式). -
这里,我是重新安装了一个mini版本的,如下:
docker run -p 2881:2881 --name obce-mini -e MINI_MODE=0 -d oceanbase/oceanbase-ce
2、查看现有集群情况
2.1 进入容器,使用obd命令查看
- 查看状态是否running,如果不是
deploy
一下,如下:obd cluster list obd cluster deploy obcluster obd cluster display obcluster
2.2 连接OB,查看节点信息等
2.2.1 __all_server
-
如下:
obclient -h 43.143.190.116 -P2881 -uroot@sys oceanbase -A
select * from __all_server; select * from __all_zone;
2.2.2 DBA_ob_servers
- 如下:
select * from __all_server\G; select * from DBA_ob_servers\G;
2.3 查看现有资源规格、租户等情况
- sql如下:
select * from __all_unit_config; select * from __all_resource_pool; select * from __all_tenant; select * from __all_tenant\G;
3、扩容,增加observer节点,先增加zone
3.1、添加 zone2、zone3,并启动zone2、zone3
3.1.1 查看当前zone的情况
- 如下:
select * from __all_zone;
3.1.1 添加 zone2,并启动zone2
- 命令如下:
alter system add zone 'zone2' region 'default_region'; alter system start zone 'zone2';
3.1.2 添加 zone3,并启动zone3,并查看添加后的zone_list
-
同理了,如下:
alter system add zone 'zone3' region 'default_region'; alter system start zone 'zone3'; select * from __all_zone where name in('region','status','zone_type');
4. 安装新的OBserver
4.1 创建目录(备用)
- 如下:
mkdir -p /data/{observer02,observer03,obproxy} mkdir -p /data/observer{02,03}/store/{sort_dir,sstable,clog,ilog,slog}
4.2 安装rpm包(先安装依赖库)
- 安装命令如下:
rpm -ivh ../oceanbase-ce-libs-4.0.0.0-103000022023011215.el7.x86_64.rpm rpm -ivh ../oceanbase-ce-4.0.0.0-103000022023011215.el7.x86_64.rpm
- 默认安装目录(因为这里是docker,随意安装的,就没有创建admin账号,但是安装目录默认创建了admin,如下:)
4.3 配置环境变量
- 如下:
export LD_LIBRARY_PATH=/home/admin/oceanbase/lib:$LD_LIBRARY_PATH LD_PRELOAD=''
4.4 启动 observer 进程
4.4.1 获取集群ID
- 如下:
SHOW PARAMETERS LIKE 'cluster_id'
4.4.2 获取网卡名
4.4.3 启动进程
- 进入安装的 bin 目录,启动进程,如下:
./observer -r "43.143.190.116:3882:3881" -z 'zone2' -n 'obcluster' -p 3881 -P 3882 -c 1 -d /data/observer02/store -i docker0 -l WARN o 'memory_limit=8GB,datafile_disk_percentage=85'
4.5
5、遇到的问题
5.1 deploy 失败
- 如下:
[ERROR] Another app is currently holding the obd lock.
- 解决问题,
display
一下,如下
5.2 启动 observer 进程报错
5.2.1 错误描述
- 详细错误如下:
5.2.1 解决问题
- 解决错误,如下:
- 配置环境变量,然后再启动observer进程
export LD_LIBRARY_PATH=/home/admin/oceanbase/lib:$LD_LIBRARY_PATH LD_PRELOAD=''
- 配置环境变量,然后再启动observer进程
4.2 ERROR 4012 (HY000): Timeout
4.2.1 问题描述
- 添加observer超时,如下:
4.2.2 解决问题
4.1 问题1—执行添加observer失败
4.1.1 问题详细
- 具体问题如下图:
You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use near 'sysyem add server
4.1.2 解决问题
- 解决问题
- 尝试一:
进入容器使用ob命令,停掉集群,但发现怎么都停不了,如下:
- 尝试二:
杀掉容器内以及容器外的关于ob的所有进程,重新启动ob容器,如下:
- 尝试一:
- 重新进入容器后,出现了新问题,超时,如下:
也好,至少错误原因变了,那就解决此问题吧……
4.2 ERROR 4012 (HY000): Timeout
- 问题描述,如上
4.2.1 解决问题
- 解决问题:修改配置文件
config.yaml
- 查看默认配置的文件,如下:
- 修改后的配置文件,如下:
- 查看默认配置的文件,如下: