OceanBase---02(入门篇------对于单副本单节点,由1个observer扩容为3个observer集群)------之前的记录,有的问题未解决,新版未尝试
- 1、前言---安装单副本单节点集群
-
- [1.1 docker安装OB](#1.1 docker安装OB)
- 2、查看现有集群情况
-
- [2.1 进入容器,使用obd命令查看](#2.1 进入容器,使用obd命令查看)
- [2.2 连接OB,查看节点信息等](#2.2 连接OB,查看节点信息等)
-
- [2.2.1 __all_server](#2.2.1 __all_server)
- [2.2.2 DBA_ob_servers](#2.2.2 DBA_ob_servers)
- [2.3 查看现有资源规格、租户等情况](#2.3 查看现有资源规格、租户等情况)
- 3、扩容,增加observer节点,先增加zone
-
- [3.1、添加 zone2、zone3,并启动zone2、zone3](#3.1、添加 zone2、zone3,并启动zone2、zone3)
-
- [3.1.1 查看当前zone的情况](#3.1.1 查看当前zone的情况)
- [3.1.1 添加 zone2,并启动zone2](#3.1.1 添加 zone2,并启动zone2)
- [3.1.2 添加 zone3,并启动zone3,并查看添加后的zone_list](#3.1.2 添加 zone3,并启动zone3,并查看添加后的zone_list)
- [4. 安装新的OBserver](#4. 安装新的OBserver)
-
- [4.1 创建目录(备用)](#4.1 创建目录(备用))
- [4.2 安装rpm包(先安装依赖库)](#4.2 安装rpm包(先安装依赖库))
- [4.3 配置环境变量](#4.3 配置环境变量)
- [4.4 启动 observer 进程](#4.4 启动 observer 进程)
-
- [4.4.1 获取集群ID](#4.4.1 获取集群ID)
- [4.4.2 获取网卡名](#4.4.2 获取网卡名)
- [4.4.3 启动进程](#4.4.3 启动进程)
- 4.5
- 5、遇到的问题
-
- [5.1 deploy 失败](#5.1 deploy 失败)
- [5.2 启动 observer 进程报错](#5.2 启动 observer 进程报错)
-
- [5.2.1 错误描述](#5.2.1 错误描述)
- [5.2.1 解决问题](#5.2.1 解决问题)
- [4.2 ERROR 4012 (HY000): Timeout](#4.2 ERROR 4012 (HY000): Timeout)
-
- [4.2.1 问题描述](#4.2.1 问题描述)
- [4.2.2 解决问题](#4.2.2 解决问题)
- [4.1 问题1---执行添加observer失败](#4.1 问题1—执行添加observer失败)
-
- [4.1.1 问题详细](#4.1.1 问题详细)
- [4.1.2 解决问题](#4.1.2 解决问题)
- [4.2 ERROR 4012 (HY000): Timeout](#4.2 ERROR 4012 (HY000): Timeout)
-
- [4.2.1 解决问题](#4.2.1 解决问题)
1、前言---安装单副本单节点集群
1.1 docker安装OB
-
本篇文章是在上篇文章的基础上进行扩容,上篇文章------使用docker安装单副本单节点集群,如下:
OceanBase---01(入门篇------使用docker安装OceanBase以及介绍连接OB的几种方式). -
这里,我是重新安装了一个mini版本的,如下:
bashdocker run -p 2881:2881 --name obce-mini -e MINI_MODE=0 -d oceanbase/oceanbase-ce
2、查看现有集群情况
2.1 进入容器,使用obd命令查看
-
查看状态是否running,如果不是
deploy
一下,如下:bashobd cluster list obd cluster deploy obcluster obd cluster display obcluster
2.2 连接OB,查看节点信息等
2.2.1 __all_server
-
如下:
bashobclient -h 43.143.190.116 -P2881 -uroot@sys oceanbase -A
sqlselect * from __all_server; select * from __all_zone;
2.2.2 DBA_ob_servers
-
如下:
sqlselect * from __all_server\G; select * from DBA_ob_servers\G;
2.3 查看现有资源规格、租户等情况
-
sql如下:
sqlselect * 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的情况
-
如下:
bashselect * from __all_zone;
3.1.1 添加 zone2,并启动zone2
-
命令如下:
sqlalter system add zone 'zone2' region 'default_region'; alter system start zone 'zone2';
3.1.2 添加 zone3,并启动zone3,并查看添加后的zone_list
-
同理了,如下:
sqlalter 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 创建目录(备用)
-
如下:
bashmkdir -p /data/{observer02,observer03,obproxy} mkdir -p /data/observer{02,03}/store/{sort_dir,sstable,clog,ilog,slog}
4.2 安装rpm包(先安装依赖库)
-
安装命令如下:
bashrpm -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 配置环境变量
-
如下:
bashexport LD_LIBRARY_PATH=/home/admin/oceanbase/lib:$LD_LIBRARY_PATH LD_PRELOAD=''
4.4 启动 observer 进程
4.4.1 获取集群ID
-
如下:
bashSHOW PARAMETERS LIKE 'cluster_id'
4.4.2 获取网卡名
4.4.3 启动进程
-
进入安装的 bin 目录,启动进程,如下:
bash./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 失败
-
如下:
bash[ERROR] Another app is currently holding the obd lock.
-
解决问题,
display
一下,如下
5.2 启动 observer 进程报错
5.2.1 错误描述
- 详细错误如下:
5.2.1 解决问题
- 解决错误,如下:
-
配置环境变量,然后再启动observer进程
bashexport LD_LIBRARY_PATH=/home/admin/oceanbase/lib:$LD_LIBRARY_PATH LD_PRELOAD=''
-
4.2 ERROR 4012 (HY000): Timeout
4.2.1 问题描述
- 添加observer超时,如下:
4.2.2 解决问题
4.1 问题1---执行添加observer失败
4.1.1 问题详细
-
具体问题如下图:
sqlYou 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
- 查看默认配置的文件,如下:
- 修改后的配置文件,如下:
- 查看默认配置的文件,如下: