- 实验一:OceanBase Docker体验
通过 OceanBase Docker 容器,快速的体验 OceanBase 的 自动化部署过程,以及了解 OceanBase 集群安装成功后的目录特点和使用方法。
-
- Docker镜像
- 实验环境
- 实验环境说明
- 实验环境
- Docker镜像
1台OCP 5台OBSERVER
aarch64 Kylin Linux Advanced Server release V10 (Sword)
CPU 16核
内存 64G
磁盘划分(lvm、fdisk)
用途 实验环境
/docker docker安装目录 200G
/home ob的安装目录 100G
/data/1 数据盘 110G
/data/log1 日志盘(事务日志) 200G
-
-
-
- 实验环境配置
-
-
- 设置chrony服务器
ocp:
sh -c 'echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
# local clock
server 127.127.1.0
fudge 127.127.1.0 stratum 10
启动时钟服务器 Systemctl start chronyc
更新最新时钟 chronyc sources
- 建立用户,挂载文件系统(略)
- 修改limits限制、内核参数、关闭防火墙
- 网卡配置
cd /etc/sysconfig/network-scripts
cat ifcfg-enp1s0
- 配置ssh免密
ocp-ob-obp-odc-antman_20220506_arm/common/ssh/
vi address.txt 编辑IP、用户名、密码、hostname
./step1_init.sh
./step2_testlogin.sh
./step3_sethostname.sh
./step4_obssh.sh
- 下载对应版本 t-oceanbase-antman和oceanbase-all-in-one
-
-
- 安装ocp
-
-
1、安装t-oceanbase-antman
2、创建admin用户
/root/t-oceanbase-antman/clonescripts/clone.sh -u
3、配置内核参数(/etc/sysctl.conf)
/root/t-oceanbase-antman/clonescripts/clone.sh -c -r ocp
4、安装依赖包
/root/t-oceanbase-antman/clonescripts/clone.sh -m -r ocp
5、安装docker
/root/t-oceanbase-antman/clonescripts/clone.sh -i
6、上传docker镜像
docker load -i ocp323.arm.tar.gz
7、配置obcluster.conf文件
/root/t-oceanbase-antman/init_obcluster_conf.sh 选1
8、安装部署前预检查
/root/t-oceanbase-antman/clonescripts/precheck.sh -m ocp
9、安装
sh install.sh -i 1-8
-
-
- Docker环境
- Docker环境
- Docker环境
-
- 下载docker镜像
wget https://download.docker.com/linux/static/stable/aarch64/docker-24.0.6.tgz
- 解压下载好的压缩包
tar xf docker-24.0.6.tgz
- 移动解压文件到/usr/bin 目录中
mv docker/* /usr/bin/
- 启动docker
dockerd
-
-
-
- Docker安装
-
-
- 执行命令:docker pull oceanbase/obce-mini 下载所需镜像
- 启动docker命令:docker run -p 2881:2881 --name obce-mini -d -e OB_HOME_PATH="/root/obce/" -e OB_TENANT_NAME="obmysql" oceanbase/obce-mini
- 进入容器:docker exec -it obce-mini bash
- 使用 OBD 命令OceanBase 集群部署
- OBD安装
- 使用 OBD 命令OceanBase 集群部署
- 检查OBD安装包
下载地址https://open.oceanbase.com/softwareCenter/community
- 安装obd
Rpm –ivh ob-deploy-2.3.0-4.el7.aarch64.rpm
- 将OceanBase rpm离线软件包加入本地镜像
obd mirror clone obproxy-ce-4.2.0.0-7.el7.aarch64.rpm obproxy-ce-4.2.0.0-7.el7.aarch64.rpm libobclient-2.2.2-3.el7.aarch64.rpm
-
-
- 集群配置文件
-
[root@ob1 obtools]# cat mini-distributed-with-obproxy-example.yaml
## Only need to configure when remote login is required
user:
username: root <===========
password: root <===========
# key_file: your ssh-key file path if need
# port: your ssh port, default 22
# timeout: ssh connection timeout (second), default 30
oceanbase-ce:
servers:
- name: z1
# Please don't use hostname, only IP can be supported
ip: 192.168.0.1 <===========
- name: z2
ip: 192.168.0.2 <===========
- name: z3
ip: 192.168.0.3 <===========
- name: z4
ip: 192.168.0.4 <===========
- name: z5
ip: 192.168.0.5 <===========
global:
# Please set devname as the network adaptor's name whose ip is in the setting of severs.
# if set severs as "127.0.0.1", please set devname as "lo"
# if current ip is 192.168.1.10, and the ip's network adaptor's name is "eth0", please use "eth0"
devname: ens192 <===========
cluster_id: 1
# please set memory limit to a suitable value which is matching resource.
memory_limit: 8G
system_memory: 4G
stack_size: 512K
cpu_count: 16
cache_wash_threshold: 1G
__min_full_resource_pool_memory: 268435456
workers_per_cpu_quota: 10
schema_history_expire_time: 1d
# The value of net_thread_count had better be same as cpu's core number.
net_thread_count: 4
major_freeze_duty_time: Disable
minor_freeze_times: 10
enable_separate_sys_clog: 0
enable_merge_by_turn: FALSE
datafile_disk_percentage: 20
syslog_level: INFO
enable_syslog_recycle: true
max_syslog_file_count: 4
# observer cluster name, consistent with obproxy's cluster_name
appname: ob_cluster
root_password: 123456 <===========
proxyro_password: 123456 <===========
z1:
mysql_port: 2881
rpc_port: 2882
home_path: /root/observer
zone: zone1
z2:
mysql_port: 2881
rpc_port: 2882
home_path: /root/observer
zone: zone2
z3:
mysql_port: 2881
rpc_port: 2882
home_path: /root/observer
zone: zone3
z4:
mysql_port: 2881
rpc_port: 2882
home_path: /root/observer
zone: zone4
z5:
mysql_port: 2881
rpc_port: 2882
home_path: /root/observer
zone: zone5
obproxy:
servers:
- 192.168.0.1 <===========
global:
listen_port: 2883
prometheus_listen_port: 2884
home_path: /root/obproxy
# oceanbase root server list
# format: ip:mysql_port,ip:mysql_port
rs_list: 192.168.0.1:2881;192.168.0.2:2881;192.168.0.3:2881;192.168.0.4:2881;192.168.0.5:2881 <===========
enable_cluster_checkout: false
# observer cluster name, consistent with oceanbase-ce's appname
cluster_name: ob_cluster
obproxy_sys_password: 123456 <===========
observer_sys_password: 123456 <===========
-
-
- 安装集群
-
obd cluster deploy ob-cluster -c ./mini-distributed-with-obproxy-example.yaml
-
-
- 启动集群
-
obd cluster start ob-cluste
-
- 创建业务租户、业务数据库和表
- 创建unit规格
create resource unit mini max_cpu=5, min_cpu=5, max_memory='2G', min_memory='2G', max_iops=10000, min_iops=1000, max_session_num=1000000, max_disk_size='10G';
- 创建资源池
create resource pool mini_pool_t1 unit=mini ,unit_num=1;
create resource pool mini_pool_t2 unit=mini ,unit_num=1;
- 创建租户
create tenant test charset='utf8mb4', replica_num=1,
zone_list=('zone1,zone2,zone3,zone4,zone5'), primary_zone='zone1,zone2;zone3,zone4;zone5',
resource_pool_list=('mini_pool_t1') set ob_tcp_invited_nodes='%';
create tenant test2 charset='utf8mb4', replica_num=1,
zone_list=('zone1,zone2,zone3,zone4,zone5'), primary_zone='zone1,zone2;zone3,zone4’zone5',
resource_pool_list=('mini_pool_t2') set ob_tcp_invited_nodes='%',
ob_compatibility_mode='oracle';
- 登陆业务租户
obclient –h192.168.0.2 -P2883 -uroot@test#admin:1673835228 –p
创建数据库
创建表