手动部署oceanbase集群,包含obproxy
OS版本如下:
【关闭selinux】
sed -i 's/=enforcing/=disabled/g' /etc/selinux/config
sed -i 's/=targeted/=disabled/g' /etc/selinux/config
【关防火墙】
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
【修改内核参数】
由于只能给虚拟机分配11.6GB内存,所以允许使用虚拟内存:
【修改会话变量】
cat >> /etc/security/limits.conf << EOF
* soft nofile 655360
* hard nofile 655360
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited
* soft stack unlimited
* hard stack unlimited
EOF
ulimit -n
【创建用户和目录,并准备好存储】
useradd -G wheel admin
passwd admin
pvcreate /dev/sdd /dev/sde
vgcreate vg_data /dev/sdd
vgcreate vg_log /dev/sde
lvcreate -n lv_data -L 200000M vg_data
lvcreate -n lv_log -L 200000M vg_log
mkfs.xfs /dev/vg_data/lv_data
mkfs.xfs /dev/vg_log/lv_log
echo "/dev/vg_data/lv_data /data xfs defaults 0 0" >> /etc/fstab
echo "/dev/vg_log/lv_log /redo xfs defaults 0 0" >> /etc/fstab
## 以下分别是数据文件和日志的存放路径
mkdir /datafile
mkdir /redo
chown admin:admin /datafile
chown admin:admin /redo
【上传安装包】
只需要图中的一部分,其中ob-deploy-1.2.1-9.el7.x86_64.rpm无用,我全手动部署
【RPM方式安装】
先安装lib,再安装本体:
【创建相关目录】
创建后看下目录结构:
【启动进程】
su - admin
cd ~/oceanbase/store
【集群初始化】
没装客户端先用mysql的命令行登录,默认空密码,直接回车
mysql -h 192.168.17.199 -uroot -p -P 2881 -c -A
set session ob_query_timeout=1000000000;
alter system bootstrap ZONE 'zone1' SERVER '192.168.17.199:2882';
修改root密码:
靠虚拟内存还是可以拉起来的:
【安装obproxy】
先创建连接用户:
RPM方式安装:
启动:
~/obproxy-3.2.0/bin/obproxy -r "192.168.17.199:2881" -p 2883 -c obcluster -o "enable_strict_kernel_release=false,enable_cluster_checkout=false,enable_metadb_used=false"
连进去改密码:
alter proxyconfig set obproxy_sys_password='proxy123';
alter
proxyconfig set observer_sys_password='123456';
测试连接:
exit
mysql -h 192.168.17.199 -uroot@sys#obcluster -P2883 -p -c -A oceanbase
只有一个OBSERVER节点提供服务:
【创建租户】
create resource unit mysql_unit1 max_cpu=1,min_cpu=1,max_memory='1G',min_memory='1G',max_iops=2000,min_iops=1000,max_session_num=500,max_disk_size='20G';
create resource pool mysql_pool1 unit='mysql_unit1', unit_num=1;
create tenant ceshimysql resource_pool_list=('mysql_pool1'), primary_zone='RANDOM', comment 'mysql tenant/instance', charset='utf8mb4' set ob_tcp_invited_nodes='%',ob_compatibility_mode='mysql';
【建库建表】
mysql -uroot@ceshimysql -p -h192.168.17.199 -P2883 -c -A oceanbase
alter user root@'%' identified by 'mysql123';
create database myku;
use myku;
CREATE TABLE tb1 (ID SMALLINT NOT NULL, NAME VARCHAR(20) NOT NULL, ADDRESS VARCHAR(100), PRIMARY KEY (ID));
insert into tb1 values (9527,'唐寅','华府'),(8848,'真皮手机','驻马店');
commit;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示