手动部署 OceanBase 集群

    1. 手动部署一个 OB 单副本集群,包括一个 OBProxy 节点
      1. 部署环境

服务器信息

IP地址

192.168.0.26

网卡名

ifcfg-enp1s0

OS

Kylin Linux Advanced Server release V10

CPU

8C

内存

32G

磁盘1

本地盘 /data/1

磁盘2

本地盘 /data/log1 

机器和角色划分

角色

机器

备注

OBPROXY

192.168.0.26

OceanBase反向代理访问

OBSERVER

192.168.0.26

OceanBase数据库

OBCLIENT

192.168.0.26

OceanBase命令行客户端

      1. 服务器初始化

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

        1. 内核参数修改

vim /etc/sysctl.conf

kernel.sysrq=0

net.ipv4.ip_forward = 1

net.ipv4.conf.all.send_redirects=0

net.ipv4.conf.default.send_redirects=0

net.ipv4.conf.all.accept_source_route=0

net.ipv4.conf.default.accept_source_route = 0

net.ipv4.conf.all.accept_redirects=0

net.ipv4.conf.default.accept_redirects=0

net.ipv4.conf.all.secure_redirects=0

net.ipv4.conf.default.secure_redirects=0

net.ipv4.icmp_echo_ignore_broadcasts=1

net.ipv4.icmp_ignore_bogus_error_responses=1

net.ipv4.conf.all.rp_filter=1

net.ipv4.conf.default.rp_filter = 1

net.ipv4.tcp_syncookies = 0

kernel.dmesg_restrict=1

net.ipv6.conf.all.accept_redirects=0

net.ipv6.conf.default.accept_redirects=0

####################################################

#  for oceanbase

net.core.somaxconn = 2048

net.core.netdev_max_backlog = 10000

net.core.rmem_default = 16777216

让配置生效

sysctl -p

        1. 修改会话变量设置

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

        1. 关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

        1. 关闭SELinux

vi /etc/selinux/config

SELINUX=disabled

        1. 创建安装用户

# 新增普通用户 admin

useradd admin

# 改用户密码

passwd admin

# 配置用户admin sudo权限

vi /etc/sudoers

        1. 修改系统时区

将系统时区设置为中国的+8区

tzselect

分别依次选择 5) Asia、9) China、1) Beijing Time、1) Yes

vi /etc/profile

export TZ='Asia/Shanghai'

#生效修改

source /etc/profile

        1. 磁盘目录配置

模拟生产环境中使用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/1  ext4  defaults,noatime,nodiratime,nodelalloc,barrier=0  0  0

/dev/mapper/vgredo-lvredo  /data/log1  ext4  defaults,noatime,nodiratime,nodelalloc,barrier=0  0  0

mount -a

        1. 初始化目录

# 创建相关目录

mkdir -p /home/admin/{oceanbase,logs} 

      1. 部署单副本OceanBase集群

包括代理服务obproxy和obclient。

        1. 安装程序包文件

tar -zxvf obpoc_20220506_arm\ .tar.gz

cd ocp-ob-obp-odc-antman_20220506_arm

手动部署 OceanBase 集群_第1张图片

yum -y install t-oceanbase-antman-1.4.2-20220430002909.alios7.aarch64.rpm

        1. 安装oceanbase数据库程序

rpm –ivh oceanbase-3.2.3.0-20220418212020.el7.aarch64.rpm

        1. 安装obclient客户端程序

rpm -ivh obclient-1.2.8-20210918193105.el7.alios7.aarch64.rpm

        1. 安装obproxy代理程序

#执行如下命令

rpm -ivh obproxy-3.2.3.2-20220413115557.el7.aarch64.rpm

        1. 启动节点observer

#执行如下命令启动单节点单副本observer进程

su - admin

cd /home/admin/oceanbase

bin/observer  -p 2881 -P 2882 -z zone1 -d ~/oceanbase/store/obcluster -r '192.168.0.26:2882:2881' -c 1673835228 -n obcluster -o "datafile_size=50G,__min_full_resource_pool_memory=268435456,config_additional_dir=/data/1/admin/etc3;/data/log1/admin/etc2"

        1. 初始化集群

#执行如下命令初始化集群(初始密码为空)

obclient -h 192.168.0.26 -P 2881 -uroot -p -c -A

alter system bootstrap ZONE 'zone1' SERVER '192.168.0.26:2882';

# 退出重新登录(租户sys),执行如下命令:

obclient -h 192.168.0.26 -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;

手动部署 OceanBase 集群_第2张图片

        1. 设置相关密码

alter user root identified by 'root123';

grant select on oceanbase.* to proxyro identified by 'proxyro';

        1. 启动obproxy进程

启动OBPROXY进程也推荐在软件安装目录,进程obproxy会在该目录下生成目录etc保存OBPROXY的运行参数,以及目录log保存运行日志。

# 执行如下命令启动obproxy进程

bin/obproxy -r "192.168.0.26:2881" -p 2883 -o "enable_strict_kernel_release=false,enable_cluster_checkout=false,enable_metadb_used=false" -c obcluster

# 登录obproxy,查看系统管理员密码参数

obclient -h10.64.8.28 -P2883 -uroot@sys#admin -p -A

show proxyconfig like '%sys_password%';

    1. 验证OceanBase集群
      1. 登录测试OceanBase集群

登录使用命令:obclient -h192.168.0.28 -P2883 -uroot@sys#admin -p -A

手动部署 OceanBase 集群_第3张图片

      1. 创建租户

#查看当前资源规格及资源池配置:

Use oceanbase;

select unit_config_id, name from __all_unit_config;

select resource_pool_id, name from __all_resource_pool;

手动部署 OceanBase 集群_第4张图片

#创建租户所需的资源规格和资源池

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');

#再次查看资源规格及资源池配置

手动部署 OceanBase 集群_第5张图片

#执行如下命令创建一个租户对象

create tenant my_tenant1 resource_pool_list=('my_pool1');

手动部署 OceanBase 集群_第6张图片

      1. 创建业务数据库

重新登录数据库,连接新建业务租户:my_tenant1

执行命令:obclient -h 192.168.0.26 -P 2883 -u root@my_tenant1 -p -c -A oceanbase

注:新建租户下默认管理员密码为空

手动部署 OceanBase 集群_第7张图片

手动部署 OceanBase 集群_第8张图片

      1. 创建业务数据表

create table user1(id int(4) primary key, name varchar(20));

手动部署 OceanBase 集群_第9张图片

#新增数据表记录

insert into user1(id, name) values(1, '张三');

insert into user1(id, name) values(2, '李四');

手动部署 OceanBase 集群_第10张图片

你可能感兴趣的:(oceanbase)