目前有关OceanBase功能、案例、故事的文章已经很多,对OceanBase感兴趣的朋友都想安装一个数据库试试。本文就是分享初学者如何手动搭建一个OceanBase集群。这也是学习理解OceanBase集群原理的第一步。在生产环境,我们有自动化运维平台OCP
可以负责生产环境的OceanBase集群部署和运维。同时官网上提供的下载文件里也有python脚本自动化部署OceanBase集群,大家熟悉了安装原理后就可以自己动手使用自动化脚本安装。
OceanBase是分布式数据库,以集群的形式存在,是share-nothing
架构。各个节点就是普通的x86
服务器,使用本地盘(SSD
),不依赖共享存储,也没有集群文件系统。各个节点之间网络互通即可,不需要直连线。所以OceanBase集群的搭建相比ORACLE RAC集群而言,还是很简单的。
目前OceanBase对内存资源要求不低,建议学习环境每个节点在32G以上,64G更好。并且OceanBase集群至少包含三个节点,节点数以奇数递增。如果有三台机器更好,但是如果只有一台机器,但是内存够大(192G以上),那也可以启动三个OceanBase进程来模拟三个节点。
OceanBase分布式数据库是以集群形式存在,至少三个节点,在每个节点里存在形式是一个observer
进程,不同节点上多个observer
进程组成一个集群对外提供服务。
本次安装目标会搭建一个2-2-2
架构的OceanBase集群,理论上这个需要6台机器,实际上我只有3台。因此我会在每个机器上启动2个observer进程来模拟2个节点。
机器节点规划如下。如果你只有一台大内存的机器,可以在上面起3个或者6个OceanBase进程,注意RPC Port
和Connect Port
不要重复或者跟其他应用端口冲突即可。
Zone | IP | RPC Port | Connect Port |
Zone1 |
192.168.1.241 |
2882 |
2881 |
Zone1 |
192.168.1.241 |
3882 |
3881 |
Zone2 |
192.168.1.81 |
2882 |
2881 |
Zone2 |
192.168.1.81 |
3882 |
3881 |
Zone3 |
192.168.1.86 |
2882 |
2881 |
Zone3 |
192.168.1.86 |
3882 |
3881 |
由于OceanBase是分布式数据库,应用的数据可能分布在任一节点上,所以应用需要通过一个反向代理OBProxy来访问OceanBase集群。OBProxy可以安装在任意机器上,包括OceanBase数据库节点上。这里我安装在其中一个节点上。
OceanBase机器节点环境主要是安装用户、内核参数配置、防火墙和SELinux设置、时间同步设置、和用户会话限制等。
安装用户和配置目录
OceanBase默认会安装在用户admin
下。可以选择安装在其他用户下(不使用RPM
包安装)。
通常建议admin
用户配置sudo
权限,这样安装过程中就不需要root
账户介入。
groupadd -g 500 admin
useradd -g 500 -u 500 admin -d /home/admin
passwd adminmkdir /data
mkdir -p /data/1 /data/log1
chown -R admin:admin /data
# 赋予sudo权限
chmod u+w /etc/sudoers
vi /etc/sudoers
root ALL=(ALL) ALL
admin ALL=(ALL) ALL
chmod u-w /etc/sudoers
用户会话设置
使用命令ulimit
可以查看用户会话默认限制。修改下面文件可以默认会话限制修改永久生效。
sudo vi /etc/security/limits.conf
* soft nofile 655350
* hard nofile 655350
* soft stack 20480
* hard stack 20480
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited
退出重登录,检查设置生效
内核参数配置
内核参数主要是网络、内存相关的设置。
sudo vi /etc/sysctl.conf
fs.aio-max-nr = 65536
net.core.somaxconn = 2048
net.core.netdev_max_backlog = 10000
net.core.rmem_default = 16777216
net.core.wmem_default = 16777216
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216net.ipv4.ip_local_port_range = 3500 65535
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_slow_start_after_idle=0vm.swappiness = 0
kernel.core_pattern = /data/1/core-%e-%p-%t
vm.min_free_kbytes = 2097152
vm.max_map_count=655360
修改后使用下面命令生效,并检查
sudo sysctl -p
关闭防火墙和SELinux
Linux的防火墙和SELinux安全特性可能会导致OceanBase各个节点之间通信异常,所以都建议关闭
sudo systemctl disable firewalld
sudo systemctl stop firewalld
sudo systemctl status firewalldsudo vi /etc/selinux/config
SELINUX=disabledsudo setenforce 0
节点时间同步设置
OceanBase是个分布式数据库,要求各个节点的时间保持同步,时间误差控制在50ms以内。节点时间误差偏大时,后面初始化OceanBase集群会失败,或者现有的OceanBase集群会出现异常。
节点间的时间同步要靠Linux的NTP
同步来保证。检查时间误差使用clockdiff命令
clockdiff 192.168.1.86
clockdiff 192.168.1.81
clockdiff 192.168.1.241
配置节点的NTP
同步
sudo vi /etc/ntp.conf
server 192.168.1.239
停掉ntpd
服务,强行同步一次时间,再启动ntpd
服务。后续时间同步靠ntpd
服务。
sudo service ntpd stop;
sudo ntpdate 192.168.1.239;
sudo service ntpd start;ntpq -4p
软件目录
目前oceanbase.alipay.com
上提供了OCP试用版下载,里面包含了OCP和OB的很多文件,手动安装只需要里面两个RPM
文件:obproxy
和oceanbase
。获取方法如下:
wget https://gw.alipayobjects.com/os/downloads/ossupload/ocp-release.zip
unzip ocp-release.zip
tar zxvf ocp-setup.tar.gz
cd ocp_yh
ls -lrth
obproxy-1.3.3-1506155.el7.x86_64.rpmoceanbase-1.4.60-1571952.el7.x86_64.rpm
我们先看一下oceanbase
的RPM
包内容,
[admin@observer1 ]rpm2cpio oceanbase-1.4.60-1571952.el7.x86_64.rpm |cpio –div
[admin@observer1 ]cd home/admin;tar czvf ob1.4.6.tar.gz oceanbase/
[admin@observer1 ]scp home/admin/ob1.4.6.tar.gz 192.168.1.241:/tmp/;
[admin@observer1 ]scp home/admin/ob1.4.6.tar.gz 192.168.1.81:/tmp/;
可以看到目录结构如下。其中bin
下有可执行文件observer
,etc
目录用于存放配置和相关脚本。
如果直接安装该RPM
包,则会安装在admin用户的根目录下。由于我们要在一个机器上启动两个observer
进程,彼此软件目录要分开。所以改用解压缩RPM
包文件然后复制到两个目录,目录owner
是admin
。
存储目录
OceanBase的存储目录是在软件目录下的store
文件夹里。存储目录会包含数据文件目录和相关日志文件目录。出于性能考虑,数据文件目录和相关日志文件目录都需要单独的文件系统(如果底层是独立的盘会更好)。然后把实际目录映射到软件目录下的store
目录下。
su - admin
kill -9 `pidof observer`
sleep 3
/bin/rm -rf /data/1/obdemo
/bin/rm -rf /data/log1/obdemo
/bin/rm -rf /home/admin/oceanbase/store/obdemo /home/admin/oceanbase/log/* /home/admin/oceanbase/etc/*config*
ps -ef|grep observer
df -h |egrep home\|data
su - admin
mkdir -p /data/1/obdemo/{etc3,sort_dir,sstable}
mkdir -p /data/log1/obdemo/{clog,etc2,ilog,slog,oob_clog}
mkdir -p /home/admin/oceanbase/store/obdemo
for t in {etc3,sort_dir,sstable};do ln -s /data/1/obdemo/$t /home/admin/oceanbase/store/obdemo/$t; done
for t in {clog,etc2,ilog,slog,oob_clog};do ln -s /data/log1/obdemo/$t /home/admin/oceanbase/store/obdemo/$t; done
由此一个完整的OBServer
进程的相关目录如下:
依赖RPM
包安装
OceanBase会对数据进行压缩,所以依赖两个压缩协议的RPM
文件:snappy.x86_64
和lzo.x86_64
。
rpm -q snappy.x86_64 lzo.x86_64
yum -y install snappy.x86_64 lzo.x86_64
obclient-*.rpm ,这个是 OceanBase 命令行客户端,可以访问 Oc
eanBase 的 MySQL 和 ORACLE 租户
$ sudo rpm -ivh obclient-1.1.6-20191211162923.el7.alios7.x86_64.rpm
$ which obclient
/usr/bin/obclient
OceanBase 是分布式数据库,三副本的 OceanBase 集群至少有三台机器,业务数
据的读写可能在其中任意一台主机上,对业务方(客户端)来记录这么多主机
地址并不合理,所以 OceanBase 产品还提供了一个分布式代理 OBProxy 进程
,用于监听客户端的连接并转发请求到后端 OBServer 机器。默认监听端口是 28
83,可以自定义为 3306 或 1521、或者其他端口。
OBProxy 的作用类似 ORACLE 的监听进程,不同之处是 OBProxy 会一直承担连接
中转角色。转发到后端 OBServer 的请求返回数据时,依然要通过 OBProxy 回发给
客户端。OBProxy 跟分布式数据库中间件的代理节点不同的区别在于 OBProxy
只做路由转发,不做 SQL 运算(合并、排序、过滤等逻辑)。所以 OBProxy 很
轻量,是无状态的,可以部署多个进程。但是 OBProxy 进程之间没有集群能力
$ sudo rpm -ivh obproxy-*.rpm
obproxy 安装目录在/ opt / taobao / install 下,通常我们作一个 到 obproxy 的软链接比较好
[admin@xxx /opt/taobao/install]
$pwd
/opt/taobao/install
[admin@xxx /opt/taobao/install]
$sudoln -s obproxy-1.5.8 obproxy
[admin@xxx /opt/taobao/install]
$ll
total 12
drwxr-xr-x 9 admin admin 4096 Dec 18 2018 ajdk-8.0.0-b60
lrwxrwxrwx 1 admin admin 13 Jan 9 15:12 obproxy -> obproxy-1.5.8
drwxr-xr-x 6 admin admin 4096 Jan 9 15:14 obproxy-1.5.8
启动参数
首先分别在每个节点上启动第一个observer
进程,监听端口是2881和2882. 下图中灰色斜体部分都根据实际情况调整。注意根据实际情况修改zone
名称、IP
, 网卡名字等。
参数里指定数据文件的大小、内存的大小,以方便个别环境资源不足想精
确控制observer对资源的占用。具体说明如下:
-i 后接网卡名称。如果有 2 个网卡,要指定业务 IP 所在的网卡名称。
-z 后接 Zone 名称,可以自定义。 Zone 是逻辑机房概念,三台机器分属于不同机房,不能重复。
-d 后跟集群主目录,除集群名字 obdemo 外,其他不要变动。
-r 后跟一组服务器信息,格式是 ip:2882:2881,分号分割,表示 rootservice 信息。三台
机器参数一致。
-c 后跟集群 ID,一组数字,可以自定义。不同集群不要重复即可。
-n 后跟集群名称,可以自定义,不同集群名称不要重复即可。
-o 后跟集群参数,需要根据实际情况设置。 system_memory 指定 OB 内部保留内存,默
认是 30G,机器内存比较少的情况下把这个调小,影响就是可能在性能测试时有内存
不足问题。 datafile _ size 指定 OceanBase 数据文件 sstable 的大小(一次性初始化),根据
/data/1/ 可用空间评估,建议不少于100G,同时又保留一些剩余空间。如果/data/1跟
/data/log1本身就是一个文件系统(共用一个盘),那么务必保证留给/data/log1的空间大
小是内存的 2-4 倍。 config _ additional _ dir 指定参数文件的冗余目录。
192.168.1.241:2881:2882 zone1 注意修改 zone, IP, 网卡名字
ZONE1
su - admin
cd /home/admin/oceanbase &&/home/admin/oceanbase/bin/observer -i bond0 -P 2882 -p 2881 -z zone1 -d /home/admin/oceanbase/store/obdemo -r '11.*.84.78:2882:2881;11.*.84.79:2882:2881;11.*.84.84:2882:2881' -c 20200102 -n obdemo -o "system_memory=10G,datafile_size=100G,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2"
sleep 5
ps -ef|grep observerZONE2
su - admin
cd /home/admin/oceanbase && /home/admin/oceanbase/bin/observer -i bond0 -P 2882 -p 2881 -z zone2 -d /home/admin/oceanbase/store/obdemo -r '11.*.84.78:2882:2881;11.*.84.79:2882:2881;11.*.84.84:2882:2881' -c 20200102 -n obdemo -o "system_memory=10G,memory_limit=61440M,datafile_size=100G,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2"
sleep 5
ps -ef|grep observer
其他两个节点的启动名分别如下:
192.168.1.81:2881:2882 zone2 注意修改 zone, IP, 网卡名字
3节点OBServer都启动后,这一步集群初始化命令就至关重要,成败在此一举。
首先使用mysql命令登录任一节点,然后执行bootstrap
命令。注意命令中不要有空格和空白。
mysql -h192.168.1.241 -uroot -P2881 -p
set session ob_query_timeout=1000000000;
alter system bootstrap ZONE 'zone1' SERVER '11.*.84.78:2882', ZONE 'zone2' SERVER '11.*.84.79:2882', ZONE 'zone3' SERVER '11.*.84.84:2882';
大概十几秒后集群启动成功。此时重新退出再登录集群。登录命令的username
格式需要变化一下。登录成功后修改默认sys
租户管理员root@sys
。
mysql -h192.168.1.241 -uroot@sys -P2881 -p -c -A oceanbase
alter user root identified by 'rootpwd';
如果是搭建单副本集群,则如下:
mysql -h127.1 -uroot -P2881 -p
Enter password:
set session ob_query_timeout=1000000000;alter system bootstrap ZONE 'zone1' SERVER '11.*.84.78:2882';
退出使用密码登录验证,同时查看集群资源信息。
mysql -h192.168.1.241 -uroot@sys -P2881 -prootpwd -c -A oceanbase
$mysql -h127.1 -uroot@sys -P2881 -p -c -A
obclient> show databases;
select
zone,
svr_ip,
inner_port,
cpu_total, cpu_assigned,
cpu_assigned_percent cpu_ass_percent, round(mem_total/1024/1024/1024) mem_total_gb,
round(mem_assigned/1024/1024/1024) mem_ass_gb,
round(disk_total/1024/1024/1024) disk_total_gb,
unit_num, substr(build_version,1,6) version
from __all_virtual_server_stat
order by zone, svr_ip, inner_port;sys 租户的 root 密码默认为空,初始化成功后请修改密码。
obclient> alter user root identified by "123456";
启动 OBProxy 时,请在 admin 用户下并在 OBProxy 软件的 home 目录。其他用
户或者其他目录下启动都可能带来问题。
OBProxy 启动时需要知道 OceanBase 集群在哪里,这是通过参数 rootservice_list 指
定。下面以三副本 OceanBase 集群为例。
mysql -h127.1 -uroot@sys -P2881 -p -c -A
Enter password:
CREATE USER proxyro IDENTIFIED BY password '*e9c2bcdc178a99b7b08dd25db58ded2ee5bff050' ;
GRANT SELECT ON *.* to proxyro;
show grants for proxyro;$ cd /opt/taobao/install/obproxy && bin/obproxy -r "11.*.84.78:2881;11.*.84.79:2881;11.*.84.84:2881" -p 2883 -o "enable_strict_kernel_release=false,enable_cluster_checkout=false,enable_metadb_used=false" -c obdemo
如果前面模拟了 OCP Web 服务,也可以指定 API 地址。(可选)
$ cd /opt/taobao/install/obproxy && bin/obproxy -p2883 -cobdemo -o "obproxy_config_server_url=http://11.*.84.83:8088/services?Action=GetObProxyConfig&User_ID=alibaba-inc&uid=ocpmaster,enable_cluster_checkout=false,enable_strict_kernel_release=false,
enable_metadb_used=false"启动之后,可以检查进程是否存在
$ ps -ef|grep obproxy
停止 OBProxy 进程的方法是直接 kill
$ kill -9 `pidof obproxy`
再次启动 OBProxy 进程时就不需要指定那么参数。因为参数已经写到参数文件
里。
$ cd /opt/taobao/install/obproxy && bin/obproxyOB 连接示例
$mysql -h11.*.84.83 -uroot@sys#obdemo -P2883 -p -c -A oceanbase
$mysql -h11.*.84.83 -uobdemo:sys:root -P2883 -p -c -A oceanbase
obproxy的一些参数配置用于减少运行日志量或降低 CPU 消耗,请根据实际情况修改。
alter proxyconfig set slow_proxy_process_time_threshold='1000ms';
alter proxyconfig set xflush_log_level=ERROR;
alter proxyconfig set syslog_level=WARN;
alter proxyconfig set enable_compression_protocol=false;
MySQL [OceanBase]> show proxyconfig like '%compress%'\G
目前搭建的还是1-1-1
布局的OceanBase集群,需要再添加3个节点,扩容到2-2-2
布局。这里就直接在3台机器上再启动第二个observer
进程,监听端口是3881和3882。
节点准备
192.168.1.241:3881:3882
zone1 注意修改node zone, ip, port, 网卡名字cd /ob/oceanbase && /ob/oceanbase/bin/observer -i eth0 -P 3882 -p 3881 -z zone1 -d /home/admin/node2/oceanbase/store/obdemo -r '192.168.1.241:2882:2881;192.168.1.81:2882:2881;192.168.1.86:2882:2881' -c 20190423 -n obdemo -o "cpu_count=24,memory_limit=61440M,datafile_size=100G,config_additional_dir=/data/data/2/obdemo/etc3;/data/log/log2/obdemo/etc2"
ps -ef|grep observer
vi log/observer.log
192.168.1.81:2881:2882
zone2 注意修改node zone, ip, port, 网卡名字
cd /ob/oceanbase && /ob/oceanbase/bin/observer -i eth3 -P 3882 -p 3881 -z zone2 -d /home/admin/node2/oceanbase/store/obdemo -r '192.168.1.241:2882:2881;192.168.1.81:2882:2881;192.168.1.86:2882:2881' -c 20190423 -n obdemo -o "cpu_count=24,memory_limit=61440M,datafile_size=100G,config_additional_dir=/data/data/2/obdemo/etc3;/data/log/log2/obdemo/etc2"
ps -ef|grep observer
vi log/observer.log
192.168.1.86:2881:2882
zone3 注意修改node zone, ip, port, 网卡名字
cd /ob/oceanbase && /ob/oceanbase/bin/observer -i eth3 -P 3882 -p 3881 -z zone3 -d /home/admin/node2/oceanbase/store/obdemo -r '192.168.1.241:2882:2881;192.168.1.81:2882:2881;192.168.1.86:2882:2881' -c 20190423 -n obdemo -o "cpu_count=24,memory_limit=61440M,datafile_size=100G,config_additional_dir=/data/data/2/obdemo/etc3;/data/log/log2/obdemo/etc2"
ps -ef|grep observer
vi log/observer.log
集群扩容
将新增的3节点加入到OceanBase集群中。注意zone
名称和IP
要对应正确。
alter system add server '192.168.1.241:3882' zone 'zone1';
alter system add server '192.168.1.81:3882' zone 'zone2';
alter system add server '192.168.1.86:3882' zone 'zone3';select zone, svr_ip, inner_port, cpu_total,
cpu_assigned, cpu_assigned_percent cpu_ass_percent,
round(mem_total/1024/1024/1024) mem_total_gb,
round(mem_assigned/1024/1024/1024) mem_ass_gb,
round(disk_total/1024/1024/1024) disk_total_gb, unit_num,
substr(build_version,1,6) version
from __all_virtual_server_stat
order by zone, svr_ip, inner_port;
OceanBase分布式数据库跟传统数据库或者其他分布式数据库产品的一个显著的区别就是它有资源管理的思想在里面。OceanBase集群把多台主机的资源(CPU
、内存和空间)聚合在一个大的池子里,然后从中分配出指定规格的资源给一个具体的业务使用。这个提供给业务使用的就是租户,也叫实例。
下面简单演示一个租户的创建过程。
mysql -h192.168.1.241 -uroot@sys#obdemo -P2883 -prootpwd -c -A oceanbase
create resource unit unit_4c20g512g, max_cpu=4, max_memory='20G', min_memory='10G', max_iops=10000, min_iops=1000, max_session_num=1000000, max_disk_size=53687091200;
create resource unit unit_8c40g1024g, max_cpu=8, max_memory='40G', min_memory='20G', max_iops=20000, min_iops=5000, max_session_num=1000000, max_disk_size=107374182400;
create resource unit unit_16c80g2048g, max_cpu=16, max_memory='80G', min_memory='40G', max_iops=50000, min_iops=10000, max_session_num=1000000, max_disk_size=214748364800;select unit_config_id,name,max_cpu,min_cpu,round(max_memory/1024/1024/1024) max_mem_gb, round(min_memory/1024/1024/1024) min_mem_gb, round(max_disk_size/1024/1024/1024) max_disk_size_gb
from __all_unit_config
order by unit_config_id;
mysql -h192.168.1.241 -uroot@sys#obdemo -P2883 -prootpwd -c -A oceanbase
create resource pool pool_demo unit = 'unit_4c20g512g', unit_num = 1;
select resource_pool_id, name,unit_count, unit_config_id, zone_list, tenant_id, gmt_modified
from __all_resource_pool order by resource_pool_id ;
mysql -h192.168.1.241 -uroot@sys#obdemo -P2883 -prootpwd -c -A oceanbase
create tenant t_obdemo resource_pool_list=('pool_demo');
select tenant_id, tenant_name, zone_list, locality ,gmt_modified from __all_tenant;
租户连接 断开sys租户,连接用户租户
mysql -h192.168.1.241 -uroot@t_obdemo#obdemo -P2883 oceanbase -A -p
show databases;
create database sysbenchtest;
grant all privileges on sysbenchtest.* to testuser@'%' identified by 'testpwd';
mysql -h192.168.1.241 -uroot@t_obdemo#obdemo -P2883 oceanbase -A -p
select tenant_id,tenant_name, unit_id, zone, svr_ip,svr_port,max_cpu,min_cpu,round(max_memory/1024/1024/1024) max_mem_gb, round(min_memory/1024/1024/1024) min_mem_gb, round(max_disk_size/1024/1024/1024) max_disk_size_gb
from gv$unit;
如果业务觉得数据库很慢且瓶颈是在资源,则对租户的资源能力进行扩容。
租户扩容
租户扩容有两个思路,一是提升资源单元规格,二是增加资源单元数量。
mysql -h192.168.1.241 -uobdemo:sys:root -P2883 -prootpwd -c -A oceanbase
alter resource pool pool_demo unit = 'unit_8c40g1024g';
alter resource pool pool_demo unit_num = 2;//缩容同理
alter resource pool pool_demo unit_num = 1;
3. 集群参数配置
至此,OceanBase集群和租户都搭建好了。为了避免学习环境因为资源紧张导致OceanBase不稳定,还需要做一些参数配置,类似于ORACLE中的参数变更。
集群参数修改
配置日志相关参数
mysql -h192.168.1.241 -uobdemo:sys:root -P2883 -prootpwd -c -A oceanbase
-- observer log自清理设置
alter system set enable_syslog_recycle=True;
alter system set max_syslog_file_count=5;show parameters where name in ('enable_syslog_recycle', 'max_syslog_file_count');
配置OBProxy参数
-- obproxy设置:
alter proxyconfig set enable_metadb_used=False;
alter proxyconfig set enable_proxy_scramble=True;
alter proxyconfig set proxy_mem_limited=2G;
alter proxyconfig set log_dir_size_threshold=10G;
配置冻结合并参数
-- 关闭轮转合并,设置转储次数
alter system set enable_merge_by_turn = false;
alter system set minor_freeze_times=3;
alter system set minor_warm_up_duration_time='300s';
租户变量修改
OceanBase还支持对租户的行为进行配置,这些是通过租户变量的修改实现。类似于MySQL中的变量修改。
mysql -h192.168.1.241 -uroot@t_obdemo#obdemo -P2883 oceanbase -A -p
set global ob_query_timeout=100000000;
如果前面在集群初始化中出现报错,则需要清理所有步骤重新来过。
OceanBase安装环境清理
pkill observer
Sleep 10
rpm -qa|grep oceanbase
rpm -qa|grep obproxy
sudo rpm -e
su - admin
/bin/rm -rf ~/node1 ~/node2
/bin/rm -rf /data/data/* /data/log/*
转载于:https://www.cnblogs.com/mq44944/p/obinstall.html