手动部署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;

 

 

 

 


 


posted @   横扫数据库  阅读(257)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示