暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

手动部署OceanBase单副本单节点集群、多副本多节点集群和集群扩容 集群

原创 手机用户0695 2022-04-23
1570

练习目

本次练习目的掌握 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  (vgdatalvdata/data)

磁盘2

本地盘 /dev/nvme1n1  (vgredolvredo/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) Asia9) China、1) Beijing Time1) 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集群,包括代理服务obproxyobclient

下载安装程序包文件

使用如下命令下载相关程序包文件:

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.101192.168.0.102192.168.0.103

192.168.0.104192.168.0.105192.168.0.106

网卡名

enp5s0

OS

CentOS Linux release 7.9.2009

CPU

24C

内存

64G

磁盘1

本地盘 /dev/nvme0n1  (vgdatalvdata/obdata)

磁盘2

本地盘 /dev/nvme1n1  (vgredolvredo/obredo)

机器和角色划分

角色

机器

备注

 

OBSERVER

192.168.0.101192.168.0.104zone1

192.168.0.102192.168.0.105zone2

192.168.0.103192.168.0.106zone3

 

OceanBase数据库

OBPROXY

192.168.0.100

OceanBase反向代理访问

OBCLIENT

192.168.0.100

OceanBase命令行客户端

2、服务器初始化

执行OceanBase数据库软件部署前对服务器的相关初始化配置。

192.168.0.100192.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) Asia9) China、1) Beijing Time1) 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、初始化数据目录

6observer服务器上分别执行如下命令,以创建初始化所需相关目录及相应的目录链接,其中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

 

6observer节点服务器上手动安装OceanBaseOBSERVER软件 。


 

5、启动observer进程

3observer服务器上分别执行如下命令,以创建启动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)登录3observer节点的一个(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 形式。

3observer扩容服务器上分别执行如下命令,以创建启动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 port2882), 以及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







最后修改时间:2022-04-24 00:26:54
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论