练习目的
本次练习目的掌握 OceanBase 集群的手动部署技能,理解进程的相关目录、集群初始化、OBProxy和 OB 集群关系等。
练习内容
请记录并分享下列内容:
1. (必选)手动部署一个 OB 单副本集群,包括一个 OBProxy 节点。
2. (必选)创建一个业务租户、一个业务数据库,以及一些表等。
3. (可选)如果单台服务器内存有32G,或者有三台服务器,改为部署一个 OB 三副本集群,包括一个 OBProxy 节点。
4. (可选)如果有三台服务器并且服务器内存有 32 G,可以单服务器内启动 2 个节点,实现 1-1-1 扩容到 2-2-2 。
参考资料
1. 社区版官网-文档-学习中心-入门教程:如何手动部署 OceanBase 集群
2. 社区版官网-博客-入门实战:如何手动部署 OceanBase 集群
教程视频:【2-4-如何手动部署OceanBase三副本集群.mp4]
一、手动部署OB单副本集群
本实验手动部署单节点单副本集群。
1、部署环境
服务器信息
IP地址 | 192.168.0.107 |
网卡名 | enp5s0 |
OS | CentOS Linux release 7.9.2009 |
CPU | 24C |
内存 | 64G |
磁盘1 | 本地盘 /dev/nvme0n1 (vgdata、lvdata、/data) |
磁盘2 | 本地盘 /dev/nvme1n1 (vgredo、lvredo、/redo) |
机器和角色划分
角色 | 机器 | 备注 |
OBPROXY | 192.168.0.107 | OceanBase反向代理访问 |
OBSERVER | 192.168.0.107 | OceanBase数据库 |
OBCLIENT | 192.168.0.107 | OceanBase命令行客户端 |
2、服务器初始化
执行OceanBase数据库软件部署前对服务器的相关初始化配置。
安装相关工具软件
yum install epel-release -y
yum install -y net-tools lrzsz wget tree htop dstat
内核参数修改
vim /etc/sysctl.conf
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 = 16777216
net.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=0
vm.swappiness = 0
vm.min_free_kbytes = 2097152
vm.max_map_count=655360
fs.aio-max-nr=1048576
让配置生效
sysctl -p
修改会话变量设置
vi /etc/security/limits.conf
soft nofile 655360
hard nofile 655360
soft nproc 655360
hard nproc 655360
soft core unlimited
hard core unlimited
soft stack unlimited
hard stack unlimited
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭SELinux
vi /etc/selinux/config
SELINUX=disabled
创建安装用户
# 新增普通用户 admin
useradd admin
# 改用户密码
passwd admin
# 配置用户admin sudo权限
vi /etc/sudoers

修改系统时区
将系统时区设置为中国的+8区
tzselect
分别依次选择 5) Asia、9) China、1) Beijing Time、1) Yes
vi /etc/profile
export TZ='Asia/Shanghai'
#生效修改
source /etc/profile
磁盘目录配置
模拟生产环境中使用LV进行数据存储。
# 创建pv
pvcreate /dev/nvme0n1
pvcreate /dev/nvme1n1
# 创建vg
vgcreate vgdata /dev/nvme0n1
vgcreate vgredo /dev/nvme1n1
# 创建lv
lvcreate -l 100%free vgdata -n lvdata
lvcreate -L 50G vgredo -n lvredo
# 格式化文件系统
mkfs.ext4 /dev/mapper/vgdata-lvdata
mkfs.ext4 /dev/mapper/vgredo-lvredo
# 挂载文件系统
mkdir -p /data /redo
vi /etc/fstab
/dev/mapper/vgdata-lvdata /data ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
/dev/mapper/vgredo-lvredo /redo ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
mount -a
初始化目录
# 创建相关目录
mkdir -p /home/admin/oceanbase/store/obdemo
mkdir -p /data/obdemo/{sstable,etc2}
mkdir -p /redo/obdemo/{clog,ilog,slog,etc3}
# 建立目录链接
for f in {sstable,etc2}; do ln -s /data/obdemo/$f /home/admin/oceanbase/store/obdemo/$f; done
for f in {clog,ilog,slog,etc3}; do ln -s /redo/obdemo/$f /home/admin/oceanbase/store/obdemo/$f ; done
# 修改目录所有者权限
chown -R admin:admin /data
chown -R admin:admin /redo
# 查看目录结构
tree /data/obdemo
tree /redo/obdemo
tree /home/admin/oceanbase/store/

3、部署OceanBase集群
本实验手动部署单节点单副本OceanBase集群,包括代理服务obproxy和obclient。
下载安装程序包文件
使用如下命令下载相关程序包文件:
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/oceanbase-ce-libs-3.1.1-4.el7.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/oceanbase-ce-3.1.1-4.el7.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/obproxy-3.2.0-1.el7.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/libobclient-2.0.0-2.el7.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/obclient-2.0.0-2.el7.x86_64.rpm

安装oceanbase数据库程序
#执行如下命令
su - admin
cd /obsetupfiles
sudo rpm -ivh oceanbase-ce-libs-3.1.1-4.el7.x86_64.rpm
sudo rpm -ivh oceanbase-ce-3.1.1-4.el7.x86_64.rpm
安装obclient客户端程序
#执行如下命令
sudo rpm -ivh libobclient-2.0.0-2.el7.x86_64.rpm
sudo rpm -ivh obclient-2.0.0-2.el7.x86_64.rpm
安装obproxy代理程序
#执行如下命令
sudo rpm -ivh obproxy-3.2.0-1.el7.x86_64.rpm
启动节点observer
#执行如下命令启动单节点单副本observer进程
su - admin
cd oceanbase
bin/observer -i enp5s0 -p 2881 -P 2882 -z zone1 -d ~/oceanbase/store/obdemo -r '192.168.0.107:2882:2881' -c 20211206 -n obdemo -o "datafile_size=50G,__min_full_resource_pool_memory=268435456,config_additional_dir=/data/obdemo/etc2;/redo/obdemo/etc3"

初始化集群
#执行如下命令初始化集群(初始密码为空)
obclient -h 192.168.1.100-P 2881 -uroot -p -c -A
set session ob_query_timeout=1000000000;
alter system bootstrap ZONE 'zone1' SERVER '192.168.0.107:2882';

# 退出重新登录(租户sys),执行如下命令:
obclient -h 192.168.1.100 -P 2881 -uroot@sys -p -c -A oceanbase
# 并查看当前server列表
select zone, svr_ip, svr_port, with_rootserver, status from __all_server order by zone, with_rootserver desc;

设置相关密码
主要是修改管理员root的密码,以及创建obproxy代理拥护。
#集群管理员(root@sys)密码默认集群管理员(root@sys)的密码是空的,这里需要设置一个密码。
alter user root identified by 'rootroot';
#OBPROXY用户(proxyro)密码默认OBPROXY连接OceanBase集群使用用户proxyro,这个用户不存在需要创建。
grant select on oceanbase.* to proxyro identified by 'proxyro';

启动obproxy进程
启动OBPROXY进程也推荐在软件安装目录,进程obproxy会在该目录下生成目录etc保存OBPROXY的运行参数,以及目录log保存运行日志。
# 执行如下命令启动obproxy进程
bin/obproxy -r "192.168.0.107:2881" -p 2883 -o "enable_strict_kernel_release=false,enable_cluster_checkout=false,enable_metadb_used=false" -c obdemo

# 登录obproxy,查看系统管理员密码参数
obclient -h 192.168.0.107 -P 2883 -u root@proxysys -p
show proxyconfig like '%sys_password%';

# 设置相关密码
修改OBPROXY用户密码是通过修改参数的方式,命令是:alter proxyconfig set
alter proxyconfig set obproxy_sys_password = 'obproxy';
同时还需要修改OBPROXY连接OceanBase集群用户proxyro的密码。这样OBPROXY才能跟 OceanBase集群正常连接。这个密码就是前面 OceanBase 集群初始化后创建的用户proxyro的密码。
alter proxyconfig set observer_sys_password = 'proxyro';

4、验证OceanBase集群
部署成功oceanbase集群、客户端和obproxy代理之后,验证相关功能时直接登录obproxy代理访问数据库。
登录测试OceanBase集群
登录使用命令:obclient -h 192.168.0.107 -P 2883 -uroot@sys -p -c -A oceanbase

创建租户
#查看当前资源规格及资源池配置:
select unit_config_id, name from __all_unit_config;
select resource_pool_id, name from __all_resource_pool;

#创建租户所需的资源规格和资源池
create resource unit my_unit1 max_cpu=1, max_memory='1g', max_iops=128, max_disk_size='5g', max_session_num=64, min_cpu=1, min_memory='1g', min_iops=128;
create resource pool my_pool1 unit='my_unit1', unit_num=1, zone_list=('zone1');
#再次查看资源规格及资源池配置

#执行如下命令创建一个租户对象
create tenant my_tenant1 resource_pool_list=('my_pool1');

创建业务数据库
重新登录数据库,连接新建业务租户:my_tenant1
执行命令:obclient -h 127.0.0.1 -P 2883 -u root@my_tenant1 -p -c -A oceanbase
注:新建租户下默认管理员密码为空

# 修改管理员密码
alter user root identified by 'rootroot';
# 创建数据库 userdb
create database userdb;

创建业务数据表
create table user1(id int(4) primary key, name varchar(20));

#新增数据表记录
insert into user1(id, name) values(1, '张三');
insert into user1(id, name) values(2, '李四');

二、手动部署OB三副本集群
本实验手动部署3节点3副本集群(1-1-1),并扩容为2-2-2集群。
1、部署环境
服务器信息
IP地址 | 192.168.0.100 192.168.0.101、192.168.0.102、192.168.0.103 192.168.0.104、192.168.0.105、192.168.0.106 |
网卡名 | enp5s0 |
OS | CentOS Linux release 7.9.2009 |
CPU | 24C |
内存 | 64G |
磁盘1 | 本地盘 /dev/nvme0n1 (vgdata、lvdata、/obdata) |
磁盘2 | 本地盘 /dev/nvme1n1 (vgredo、lvredo、/obredo) |
机器和角色划分
角色 | 机器 | 备注 |
OBSERVER | 192.168.0.101、192.168.0.104、zone1 192.168.0.102、192.168.0.105、zone2 192.168.0.103、192.168.0.106、zone3 | OceanBase数据库 |
OBPROXY | 192.168.0.100 | OceanBase反向代理访问 |
OBCLIENT | 192.168.0.100 | OceanBase命令行客户端 |
2、服务器初始化
执行OceanBase数据库软件部署前对服务器的相关初始化配置。
192.168.0.100、192.168.0.101-106 七台服务器均进行如下初始化配置:
安装相关工具软件
yum install epel-release -y
yum install -y net-tools lrzsz wget tree htop dstat
内核参数修改
vim /etc/sysctl.conf
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 = 16777216
net.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=0
vm.swappiness = 0
vm.min_free_kbytes = 2097152
vm.max_map_count=655360
fs.aio-max-nr=1048576
让配置生效
sysctl -p
修改会话变量设置
vi /etc/security/limits.conf
* soft nofile 655360
* hard nofile 655360
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited
* soft stack unlimited
* hard stack unlimited
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭SELinux
vi /etc/selinux/config
SELINUX=disabled
创建安装用户
# 新增普通用户 admin
useradd admin
# 改用户密码
passwd admin
# 配置用户admin sudo权限
vi /etc/sudoers

修改系统时区
将系统时区设置为中国的+8区
tzselect
分别依次选择 5) Asia、9) China、1) Beijing Time、1) Yes
vi /etc/profile
export TZ='Asia/Shanghai'
#生效修改
source /etc/profile
磁盘目录配置
模拟生产环境中使用LV进行数据存储。
# 创建pv
pvcreate /dev/nvme0n1
pvcreate /dev/nvme1n1
# 创建vg
vgcreate vgdata /dev/nvme0n1
vgcreate vgredo /dev/nvme1n1
# 创建lv
lvcreate -l 100%free vgdata -n lvdata
lvcreate -L 100G vgredo -n lvredo
# 格式化文件系统
mkfs.ext4 /dev/mapper/vgdata-lvdata
mkfs.ext4 /dev/mapper/vgredo-lvredo
# 挂载文件系统
mkdir -p /obdata /obredo
vi /etc/fstab
/dev/mapper/vgdata-lvdata /obdata ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
/dev/mapper/vgredo-lvredo /obredo ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
# 加载文件目录
mount -a
配置时间同步服务
此实验时间同步服务使用chrony,其中mmxjbf100(192.168.0.100)同步公网时间服务器,其他6台服务器的时间服务器使用mmxjbf100
服务器端配置
在服务器192.168.0.100上部署chrony同步公网时间,同时为内外其他服务器提供时间服务。
# 安装chrony软件
yum install chrony -y
# 修改配置文件
先注释掉默认服务器配置项,修改为如下配置:
server ntp.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp1.aliyun.com minpoll 4 maxpoll 10 iburst
server ntp1.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
server ntp10.cloud.aliyuncs.com minpoll 4 maxpoll 10 iburst
#打开允许同步的IP地址段
allow 192.168.0.0/24
# 重启时间同步服务
systemctl enable chronyd
systemctl restart chronyd
# 查看时间同步源和状态
chronyc sources
chronyc sourcestats

客户端配置
在服务器192.168.0.101-106上部署chrony,以192.168.0.100为时间服务器。
# 安装chrony软件
yum install chrony -y
# 修改配置文件
先注释掉默认服务器配置项,修改为如下配置:
server 192.168.0.100 iburst
# 重启时间同步服务
systemctl enable chronyd
systemctl restart chronyd
# 查看时间同步源和状态
chronyc sources
chronyc sourcestats

3、初始化数据目录
在6台observer服务器上分别执行如下命令,以创建初始化所需相关目录及相应的目录链接,其中obdemo是集群名称。
# 创建相关目录
mkdir -p /home/admin/oceanbase/store/obdemo
mkdir -p /obdata/obdemo/{sstable,etc2}
mkdir -p /obredo/obdemo/{clog,ilog,slog,etc3}
# 建立目录链接
for f in {sstable,etc2}; do ln -s /obdata/obdemo/$f /home/admin/oceanbase/store/obdemo/$f; done
for f in {clog,ilog,slog,etc3}; do ln -s /obredo/obdemo/$f /home/admin/oceanbase/store/obdemo/$f ; done
# 修改目录所有者权限
chown -R admin:admin /obdata
chown -R admin:admin /obredo
# 查看目录结构
tree /obdata/obdemo
tree /obredo/obdemo
tree /home/admin/oceanbase/store/

4、安装OceanBase软件包
使用如下命令下载相关程序包文件:
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/oceanbase-ce-libs-3.1.1-4.el7.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/oceanbase-ce-3.1.1-4.el7.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/obproxy-3.2.0-1.el7.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/libobclient-2.0.0-2.el7.x86_64.rpm
wget https://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64/obclient-2.0.0-2.el7.x86_64.rpm
在6个observer节点服务器上手动安装OceanBase的OBSERVER软件 。


5、启动observer进程
在3台observer服务器上分别执行如下命令,以创建启动observer进程所需的环境变量值。
su - admin
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/oceanbase/lib' >> ~/.bash_profile
. ~/.bash_profile
# 192.168.0.101
su - admin
cd oceanbase
bin/observer -i enp5s0 -p 2881 -P 2882 -z zone1 -d ~/oceanbase/store/obdemo -r '192.168.0.101:2882:2881;192.168.0.102:2882:2881;192.168.0.103:2882:2881' -c 20211207 -n obdemo -o "datafile_size=50G,__min_full_resource_pool_memory=268435456,config_additional_dir=/obdata/obdemo/etc2;/obredo/obdemo/etc3"
# 192.168.0.102
su - admin
cd oceanbase
bin/observer -i enp5s0 -p 2881 -P 2882 -z zone2 -d ~/oceanbase/store/obdemo -r '192.168.0.101:2882:2881;192.168.0.102:2882:2881;192.168.0.103:2882:2881' -c 20211207 -n obdemo -o "datafile_size=50G,__min_full_resource_pool_memory=268435456,config_additional_dir=/obdata/obdemo/etc2;/obredo/obdemo/etc3"
# 192.168.0.103
su - admin
cd oceanbase
bin/observer -i enp5s0 -p 2881 -P 2882 -z zone3 -d ~/oceanbase/store/obdemo -r '192.168.0.101:2882:2881;192.168.0.102:2882:2881;192.168.0.103:2882:2881' -c 20211207 -n obdemo -o "datafile_size=50G,__min_full_resource_pool_memory=268435456,config_additional_dir=/obdata/obdemo/etc2;/obredo/obdemo/etc3"
6、检查节点进程状态
检查当前已部署的3个节点进程启动正常,主要看端口监听是否正常。在代理服务器(192.168.0.100)上批量查询:
执行如下命令:
IPS="192.168.0.101 192.168.0.102 192.168.0.103"
for ob in $IPS;do echo $ob; ssh $ob 'netstat -ntlp | grep observer'; done

7、集群自举(初始化)
当OceanBase集群3个节点都正常启动,并且监听正常时,连接到任一节点(通过2881端口直连),进行自举(bootstrap 集群初始化)操作。 初始密码是空。
# 首先在代理服务器(192.168.0.100)上安装obclient
rpm -ivh libobclient-2.0.0-2.el7.x86_64.rpm
rpm -ivh obclient-2.0.0-2.el7.x86_64.rpm
# 从代理服务器(192.168.0.100)登录3个observer节点的一个(192.168.0.101)
obclient -h 192.168.0.101 -P 2881 -uroot -p -c -A
set session ob_query_timeout=1000000000;
alter system bootstrap ZONE 'zone1' SERVER '192.168.0.101:2882', ZONE 'zone2' SERVER '192.168.0.102:2882', ZONE 'zone3' SERVER '192.168.0.103:2882';

退出重新登录(租户sys),执行如下命令:
obclient -h 192.168.0.101 -P 2881 -uroot@sys -p -c -A
并查看当前server列表
select zone, svr_ip, svr_port, with_rootserver, status from __all_server order by zone, with_rootserver desc;

设置相关用户密码
集群管理员(root@sys)密码默认集群管理员(root@sys)的密码是空的,这里需要设置一个密码。
alter user root identified by 'rootroot' ;
OBPROXY用户(proxyro)密码默认OBPROXY连接OceanBase集群使用用户proxyro 。这个用户不存在,需要创建。
grant select on oceanbase.* to proxyro identified by 'proxyro' ;
8、集群扩容(1-1-1 扩容 2-2-2)
当前集群是一个 1-1-1 架构,现扩容为 2-2-2 形式。
在3台observer扩容服务器上分别执行如下命令,以创建启动observer进程所需的环境变量值。
su - admin
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/oceanbase/lib' >> ~/.bash_profile
. ~/.bash_profile
# 启动待加入集群服务器上的 observer 服务
# 192.168.0.104
su - admin
cd oceanbase
bin/observer -i enp5s0 -p 2881 -P 2882 -z zone1 -d ~/oceanbase/store/obdemo -r '192.168.0.101:2882:2881;192.168.0.102:2882:2881;192.168.0.103:2882:2881' -c 20211207 -n obdemo -o "datafile_size=50G,__min_full_resource_pool_memory=268435456,config_additional_dir=/obdata/obdemo/etc2;/obredo/obdemo/etc3"
# 192.168.0.105
su - admin
cd oceanbase
bin/observer -i enp5s0 -p 2881 -P 2882 -z zone2 -d ~/oceanbase/store/obdemo -r '192.168.0.101:2882:2881;192.168.0.102:2882:2881;192.168.0.103:2882:2881' -c 20211207 -n obdemo -o "datafile_size=50G,__min_full_resource_pool_memory=268435456,config_additional_dir=/obdata/obdemo/etc2;/obredo/obdemo/etc3"
# 192.168.0.106
su - admin
cd oceanbase
bin/observer -i enp5s0 -p 2881 -P 2882 -z zone3 -d ~/oceanbase/store/obdemo -r '192.168.0.101:2882:2881;192.168.0.102:2882:2881;192.168.0.103:2882:2881' -c 20211207 -n obdemo -o "datafile_size=50G,__min_full_resource_pool_memory=268435456,config_additional_dir=/obdata/obdemo/etc2;/obredo/obdemo/etc3"
# 查看服务进程状态
在代理服务器(192.168.0.100)上执行如下命令:
IPS="192.168.0.101 192.168.0.102 192.168.0.103 192.168.0.104 192.168.0.105 192.168.0.106"
for ob in $IPS;do echo $ob; ssh $ob 'netstat -ntlp | grep observer'; done

扩容oceanbase集群
扩容命令:ALTER SYSTEM ADD SERVER 'ip:port' [,'ip:port'…] [ZONE=’zone_name’];
alter system add server '192.168.0.104:2882' zone='zone1';
alter system add server '192.168.0.105:2882' zone='zone2';
alter system add server '192.168.0.106:2882' zone='zone3';
注意端口号只需要指定 rpc port(2882), 以及zone。
并查看当前server列表
select zone, svr_ip, svr_port, with_rootserver, status from __all_server order by zone, with_rootserver desc;

9、部署obproxy代理
在代理服务器(192.168.0.100)上部署obproxy软件,通过obproxy方向代理访问各个obsrever服务。
安装obproxy软件
rpm -ivh obproxy-3.2.0-1.el7.x86_64.rpm

启动obproxy进程
启动obproxy进程推荐在软件安装目录,进程pbproxy会在该目录下生成目录etc保存obproxy的运行参数,以及目录log保存运行日志。执行如下命令:
cd ~/obproxy-3.2.0/
bin/obproxy -r "192.168.0.101:2881;192.168.0.102:2881;192.168.0.103:2881" -p 2883 -o "enable_strict_kernel_release=false,enable_cluster_checkout=false,enable_metadb_used=false" -c obdemo
检查obproxy监听端口
进程 obproxy 默认会监听2个端口:2883 和 2884 。

登录obproxy修改密码
登录用户名: root@proxysys, 端口: 2883,初始密码: 空。
obclient -h 192.168.0.100 -P 2883 -u root@proxysys -p
show proxyconfig like '%sys_password%';
修改 obproxy 用户密码是通过修改参数的方式,命令是:alter proxyconfig set 。
alter proxyconfig set obproxy_sys_password = 'obproxy';
同时还需要修改 obproxy 连接 OceanBase 集群用户 proxyro 的密码。这样 obproxy 才能跟 OceanBase 集群正常连接。这个密码就是前面 OceanBase 集群初始化后创建的用户 proxyro 的密码。
alter proxyconfig set observer_sys_password = 'proxyro';

登录验证
登录验证需要验证直接登录obproxy, 以及通过登录obproxy代理访问oceanbase集群服务。
分别执行如下命令:
obclient -h 192.168.0.100 -P 2883 -uroot@proxysys -pobproxy
obclient -h 192.168.0.100 -P 2883 -uroot@sys#obdemo -prootroot -c -A oceanbase





