Oceanbase3.2.4ForOracle_Docker搭建过程
背景
快速搭建测试环境。
docker的方式较为简单。
并且便于进行相关的测试和维护工作。
还总结了部分参数设置
执行数据库创建
注意事项:
创建目录:
mkdir -p /home/admin/oceanbase/
mkdir -p /home/admin/logs/obproxy
mkdir -p /home/admin/logs/supervisor
注意需要自行导入镜像
Docker的参数信息
--memory 和 -e CONTAINER_MEM 设置成虚拟机内存的一半
-e SYSTEM_MEMORY=8G 建设不要更改。
-e LOCAL_IP=172.24.110.192 采用内网IP地址
-e NIC_NAME=eth1 内网内网IP地址的网卡
-e OBCLUSTER_NAME=obcluster \
-e OBCLUSTER_SYS_PASS=Testxxxxxxxx \
定义集群名字和密码
导入镜像和获取镜像信息
ob_image=`docker images | grep oceanbase | awk '{printf $1":"$2"\n"}'` && echo $ob_image
执行镜像:
docker run -d -it --name observer \
--user root \
--cpu-period 100000 \
--net=host \
--memory 48G \
-e CONTAINER_CPU=8 \
-e CONTAINER_MEM=48G \
-e SYSTEM_MEMORY=8G \
-e DATAFILE_SIZE=200G \
-e LOCAL_IP=172.24.110.192 \
-e NIC_NAME=eth1 \
-e OBCLUSTER_IP_LIST=172.24.110.192 \
-e IDC_ROOM=idc1 \
-e REGION=region1 \
-e OBCLUSTER_ID=100000 \
-e OBCLUSTER_NAME=obcluster \
-e OBCLUSTER_SYS_PASS=Testxxxxxxxx \
-v /data/1:/data/1 \
-v /data/log1:/data/log1 \
-v /home/admin/oceanbase:/home/admin/oceanbase \
-v /home/admin/logs/obproxy:/home/admin/logs/obproxy \
-v /home/admin/logs/supervisor:/home/admin/logs/supervisor \
-p 2881:2881 \
-p 2882:2882 \
-p 2883:2883 \
-p 2884:2884 \
$ob_image
日志查看
docker logs -f observer
判断端口是否监听
netstat -anop |grep 288 |grep ^tcp |grep LISTEN
查看日志信息
tail -f /home/admin/logs/supervisor/start_obproxy.log
需要注意,启动子会后会有一个 fio 进程进行磁盘测试。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
108948 root 20 0 1664436 1.1g 1.1g R 9.7 1.2 0:40.11 fio
会占用较多的时间。 需要等待。
我这边一个机器耗时大约 15分钟才完成。
创建租户
docker exec -it observer bash
mysql -h127.0.0.1 -P2883 -uroot@sys#obcluster -A -c -pTestxxxxxxxx
use oceanbase
创建租户 需要先查询资源配置:
SELECT
svr_ip,
svr_port,
zone,
cpu_total,
cpu_assigned,
cpu_max_assigned,
cpu_total - cpu_max_assigned cpu_free,
round(mem_total / 1024 / 1024 / 1024, 1) "mem_total(G)",
round(mem_assigned / 1024 / 1024 / 1024, 1) "mem_assigned(G)",
round(mem_max_assigned / 1024 / 1024 / 1024, 1) "mem_max_assigned(G)",
round((mem_total - mem_max_assigned) / 1024 / 1024 / 1024, 1) "mem_free(G)",
round(disk_total / 1024 / 1024 / 1024, 1) "disk_total(G)",
round(disk_assigned / 1024 / 1024 / 1024, 1) "disk_assigned(G)",
disk_assigned_percent,
unit_num
FROM
__all_virtual_server_stat
ORDER BY
zone\G
注意主要是看 free的值 进行代替
然后创建命令为:
CREATE RESOURCE UNIT IF NOT EXISTS unit2
max_cpu 4,
min_cpu 4,
max_memory '20G',
min_memory '20G',
max_session_num 65535,
max_iops 1250,
min_iops 1250,
max_disk_size '150G';
创建资源池
CREATE RESOURCE POOL IF NOT EXISTS pool2
unit = 'unit2',
unit_num = 1,
zone_list =('zone_1');
创建租户
CREATE TENANT IF NOT EXISTS oraclet
charset = 'utf8mb4',
zone_list =('zone_1'),
primary_zone = 'zone_1',
resource_pool_list =('pool2')
SET
ob_tcp_invited_nodes = '%',
ob_compatibility_mode = 'oracle';
Oracle资源池处理
docker exec -it observer bash
obclient -h127.0.0.1 -P2883 -usys@oraclet#obcluster -A -c
ALTER USER sys IDENTIFIED BY "Testxxxxxxxx";
修改密码后的链接方式为:
obclient -h127.0.0.1 -P2883 -usys@oraclet#obcluster -A -c -pTestxxxxxxxx
部分参数信息
Alter system set nls_date_format = 'YYYY-MM-DD HH24:MI:SS';
ALTER SYSTEM SET open_cursors=3000;
SET GLOBAL NLS_LENGTH_SEMANTICS = 'CHAR';
SET global ob_trx_timeout=86400000000;
SET global ob_trx_idle_timeout=2400000000;
set global ob_query_timeout=3600000000;
应用创建数据库
IP:172.24.110.192
租户:sys@oraclet#obcluster
创建的数据库账户名: myerpob3oracle@oraclet#obcluster
密码: Test_xxxx
系统管理员: Testxxxx?!
创建年度: 2024年
清理方式
删除数据库的方式:
drop user ob3oracle cascade ;
drop user ob4oracle cascade ;
time docker rm -f observer
# 注意根据配置, 这一块的清理时间长度不一。
rm -rf /home/admin/oceanbase/* /home/admin/logs/obproxy/* /home/admin/logs/supervisor/*
rm -rf /data/1/* /data/log1/*
# 清理文件。
标签:1024,Oceanbase3.2,logs,admin,4ForOracle,assigned,max,home,Docker
From: https://www.cnblogs.com/jinanxiaolaohu/p/18022811