猿创征文| OceanBase 集群管理、测试和监控

发布于:2022-11-29 ⋅ 阅读:(297) ⋅ 点赞:(0)

前言

OceanBase 集群通常由运维人员管理,OceanBase 数据库集群将多个机器资源聚合成一个大的资源池之后再分配给不同租户(也称为实例)。OceanBase 不同租户之间彼此资源隔离,数据访问也是完全隔离的。

在这里插入图片描述

集群初始化、连接、扩容

初始化

mysql -h192.168.1.241 -uroot -P2881 -p
alter system bootstrap ZONE 'zone1' SERVER '192.168.1.241:2882', ZONE 'zone2' SERVER'192.168.1.81:2882', ZONE 'zone3' SERVER '192.168.1.86:2882’;

连接

mysql -h192.168.1.241 -uroot@sys -P2881 -p -c -A oceanbase
alter user root identified by 'rootpwd’;

集群扩容

mysql -h192.168.1.241 -uroot@sys -P2881 -prootpwd -c -A oceanbase
alter system add server '192.168.1.241:3882' zone 'zone1';

OBProxy安装、启动和连接

sys租户内准备一个只读账户proxyro

安装

mkdir -p /home/admin/logs/obproxy/log /home/admin/logs/obproxy/minidump
sudo rpm -ivh obproxy-1.3.3-1506155.el7.x86_64.rpm

启动

cd /opt/taobao/install/obproxy && bin/obproxy -r "192.168.1.241:2881;192.168.1.81:2881;192.168.1.86:2881" -p 2883 -o "enable_strict_kernel_release=false,enable_cluster_checkout=false" -c obdemo
cd /opt/taobao/install/obproxy && bin/obproxy
tail –f log/obproxy.[PID].log

连接

mysql -h192.168.1.241 -uroot@sys#obdemo -P2883 -prootpwd -c -A oceanbase
mysql -h192.168.1.241 -uobdemo:sys:root -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 pool pool_demo unit = 'unit_4c20g512g', unit_num = 1;
create tenant t_obdemo resource_pool_list=('pool_demo’);

租户使用

mysql -h192.168.1.241 -uroot@t_obdemo#obdemo -P2883 oceanbase -A –p
create database sysbenchtest;
grant all privileges on sysbenchtest.* to testuser@'%' identified by 'testpwd';

租户扩容

alter resource pool pool_demo unit = 'unit_8c40g1024g';
alter resource pool pool_demo unit_num = 2;

参数修改

集群参数文件

strings oceanbase/etc/ observer.config.bin

集群参数(parameters)修改

show parameters where name in ('enable_syslog_recycle', 'max_syslog_file_count');
alter system set enable_syslog_recycle=True ;
alter system set max_syslog_file_count=5 ;

租户变量(variables)修改

show global variables where variable_name in ('ob_trx_timeout');
set global ob_trx_timeout=200000000;

sysbench 测试和监控

Sysbench测试

./sysbench ./oltp_read_only.lua --mysql-db=sysbenchtest --mysql-host=192.168.1.241 --mysql-port=2883 --mysql-user=testuser@t_obdemo#obdemo --mysql-password=testpwd --tables=8 --table_size=50000 --report-interval=5 --threads=8 --db-driver=mysql --time=300 --skip-trx=on --db-ps-mode=disable --create-secondary=off prepare
./sysbench ./oltp_read_write.lua --mysql-db=sysbenchtest --mysql-host=192.168.1.241 --mysql-port=2883 --mysql-user=testuser@t_obdemo#obdemo --mysql-password=testpwd --tables=8 --table_size=50000 --report-interval=5 --threads=2 --db-driver=mysql --time=300 --skip-trx=on --db-ps-mode=disable --create-secondary=off --mysql-ignore-errors=6002,6004,4012,2013,4016,1062 run

监控

grant select on oceanbase.* to monitor identified by 'monitor';
python dooba -h192.168.1.241 -uobdemo:sys:monitor -P2883 -pmonitor