一、系统环境
系统配置:4C16G500G
操作系统:centOS 7.9.2009
二、系统参数配置
1、修改系统参数
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
退出当前会话,重新登录。执行以下命令,查看配置是否生效:
ulimit -a
2、防火墙设置
查看防火墙状态,如果开启状态改则进行永久关闭
systemctl status firewalld
systemctl disable firewalld
systemctl stop firewalld
3、关闭 SELinux
修改 SELinux 配置文件中的 SELINUX 选项。
vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
配置文件修改后需等到重启主机后才可生效,您可使用下面命令使其立即生效。
setenforce 0
三、安装数据库
1、创建admin用户并设置密码
创建用户:useradd admin
设置密码:passwd admin
admin 用户增加 sudo 权限
Usermod -G wheel admin
切换admin用户
2、初始化目录并查看目录结构
sudo mkdir -p ~/oceanbase/store/obdemo /data/obdemo/{sstable,etc3} /redo/obdemo/{clog,ilog,slog,etc2}
3、将文件夹所有者改为admin
chown -R admin:admin /data /redo /home/admin/oceanbase
4、初始化目录
for f in {clog,ilog,slog,etc2}; do ln -s /redo/obdemo/$f ~/oceanbase/store/obdemo/$f ; done
for f in {sstable,etc3}; do ln -s /data/obdemo/$f ~/oceanbase/store/obdemo/$f; done
5、安装tree
yum install tree
6、查看文件结构
tree oceanbase/ /data/ /redo/
7、安装oceanbase数据库
提前现在安装文件,放置服务器/home/rpm目录下
查看安装文件:ls -lrth /home/rpm/oceanbase-ce-*.rpm
安装数据库及相应依赖包:sudo rpm -ivh /home/rpm/oceanbase-ce*.rpm
8、查看安装信息
rpm -ql oceanbase-ce
9、设置LD_LIBRARY_PATH环境变量,启动observer
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/oceanbase/lib' >> ~/.bash_profile
. ~/.bash_profile
cd ~/oceanbase && bin/observer -i ens33 -p 2881 -P 2882 -z zone1 -d ~/oceanbase/store/obdemo -r '192.168.3.232:2882:2881' -c 20220306 -n obdemo -o "memory_limit=8G,cache_wash_threshold=1G,__min_full_resource_pool_memory=268435456,system_memory=3G,memory_chunk_cache_size=128M,cpu_count=16,net_thread_count=4,datafile_size=50G,stack_size=1536K,config_additional_dir=/data/obdemo/etc3;/redo/obdemo/etc2" -d ~/oceanbase/store/obdemo
10、安装客户端并连接
sudo rpm -ivh /home/rpm/libobclient-2.0.0-2.el7.x86_64.rpm
sudo rpm -ivh /home/rpm/obclient-2.0.0-2.el7.x86_64.rpm
obclient -h 192.168.3.232 -P 2881 -uroot -p -c -A
11、集群自举(初始化)
set session ob_query_timeout=1000000000; alter system bootstrap ZONE 'zone1' SERVER '192.168.3.232:2882';
12、查看当前所有数据库
show databases;
13、设置集群管理员密码及OBPROXY 用户
设置集群管理员密码及OBPROXY 用户(proxyro)密码默认OBPROXY 连接 OceanBase 集群使用用户 proxyro 。这个用户不存在,需要创建。
alter user root identified by 'root123';
grant select on oceanbase.* to proxyro identified by 'proxyro123';
14、安装obproxy
sudo rpm -ivh /home/rpm/obproxy-3.2.0-1.el7.x86_64.rpm
tree ~/obproxy-3.2.0/
15、启动obproxy
cd ~/obproxy-3.2.0/ && bin/obproxy -r "192.168.3.232:2881" -p 2883 -o "enable_strict_kernel_release=false,enable_cluster_checkout=false,enable_metadb_used=false" -c obdemo
16、登陆obproxy
obclient -h 192.168.3.232 -u root@proxysys -P 2883 -p 默认密码为空
17、设置 obproxy 与 observer 间的通信密码
修改 OBPROXY 用户密码,同时需要修改OBPROXY 连接 OceanBase 集群用户 proxyro 的密码
alter proxyconfig set obproxy_sys_password = 'proxyro123' ;
alter proxyconfig set observer_sys_password = 'root123' ;
show proxyconfig like '%sys_password%';
18、通过proxy使用密码登录验证
obclient -h 192.168.3.232 -u root@proxysys -P 2883 -p
obclient -h 192.168.3.232 -P 2883 -uroot@sys#obdemo -proot123 -c -A oceanbase
19、创建业务规格及资源池
alter resource unit sys_unit_config min_cpu=5;
CREATE resource unit S4C1G max_cpu=4, min_cpu=4, max_memory=’1G’, min_memory=‘1G’, max_iops=10000, min_iops=1000, max_session_num=1000000, max_disk_size=‘1024G’;
CREATE resource pool pool1 unit = ‘S4C1G’, unit_num = 1;
20、创建租户
create tenant obmysql resource_pool_list=(‘pool1’), primary_zone=‘RANDOM’,comment ‘mysql tenant/instance’, charset=‘utf8’ set ob_tcp_invited_nodes=’%’, ob_compatibility_mode=‘mysql’;
obclient -h 192.168.3.232 -P 2883 -uroot@obmysql#obdemo -p -c -A oceanbase
21、创建业务库
创建业务库:create database frm_test;
跳转业务库:use frm_test;
22、创建业务表并插入数据
常见业务表:create table user(id bigint not null auto_increment primary key,name varchar(50),sex varchar(1),age int);
查询表:show tables;
插入表数据:insert into user values(1,’张三’,’男’,11);
查询表数据:select * from user;