OceanBase Docker体验

  1. 实验一:OceanBase Docker体验

通过 OceanBase Docker 容器,快速的体验 OceanBase 的 自动化部署过程,以及了解 OceanBase 集群安装成功后的目录特点和使用方法。

    1. Docker镜像
      1. 实验环境
        1. 实验环境说明

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

        1. 实验环境配置
  1. 设置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

  1. 建立用户,挂载文件系统(略)
  2. 修改limits限制、内核参数、关闭防火墙
  3. 网卡配置

cd /etc/sysconfig/network-scripts

cat ifcfg-enp1s0

  1. 配置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

  1. 下载对应版本 t-oceanbase-antman和oceanbase-all-in-one
    1.
    1.
    1. 安装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

      1. Docker环境
        1. Docker环境
  1. 下载docker镜像

wget https://download.docker.com/linux/static/stable/aarch64/docker-24.0.6.tgz

  1. 解压下载好的压缩包

tar xf docker-24.0.6.tgz

  1. 移动解压文件到/usr/bin 目录中

mv docker/* /usr/bin/

  1. 启动docker

dockerd

        1. Docker安装
  1. 执行命令:docker pull oceanbase/obce-mini 下载所需镜像
  2. 启动docker命令:docker run -p 2881:2881 --name obce-mini -d -e OB_HOME_PATH="/root/obce/" -e OB_TENANT_NAME="obmysql" oceanbase/obce-mini
  3. 进入容器:docker exec -it obce-mini bash
    1. 使用 OBD 命令OceanBase 集群部署
      1. OBD安装
  1. 检查OBD安装包

下载地址https://open.oceanbase.com/softwareCenter/community

  1. 安装obd

Rpm --ivh ob-deploy-2.3.0-4.el7.aarch64.rpm

  1. 将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

      1. 集群配置文件

[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 <===========

      1. 安装集群

obd cluster deploy ob-cluster -c ./mini-distributed-with-obproxy-example.yaml

      1. 启动集群

obd cluster start ob-cluste

    1. 创建业务租户、业务数据库和表
  1. 创建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';

  1. 创建资源池

create resource pool mini_pool_t1 unit=mini ,unit_num=1;

create resource pool mini_pool_t2 unit=mini ,unit_num=1;

  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';

  1. 登陆业务租户

obclient --h192.168.0.2 -P2883 -uroot@test#admin:1673835228 --p

创建数据库

创建表

相关推荐
飞火流星020271 小时前
docker安装Redis:docker离线安装Redis、docker在线安装Redis、Redis镜像下载、Redis配置、Redis命令
redis·docker·docker安装redis·redis镜像下载·redis基本操作·redis配置
基哥的奋斗历程1 小时前
Docker 常用命令
运维·docker·容器
Dusk_橙子2 小时前
在K8S中,pending状态一般由什么原因导致的?
云原生·容器·kubernetes
HEX9CF3 小时前
【Docker】快速部署 Nacos 注册中心
运维·docker·容器
小Tomkk3 小时前
Docker 部署 ClickHouse 教程
clickhouse·docker·rpc
喝醉酒的小白5 小时前
几种K8s运维管理平台对比说明
运维·容器·kubernetes
明 庭6 小时前
通过 Docker 部署 pSQL 服务器的教程
服务器·docker·容器
字节全栈_kYu6 小时前
FastDFS实用笔记 (Docker 搭建环境 + 整合 SpringBoot)
spring boot·笔记·docker
Linux运维老纪17 小时前
DNS缓存详解(DNS Cache Detailed Explanation)
计算机网络·缓存·云原生·容器·kubernetes·云计算·运维开发
杨浦老苏19 小时前
开源音乐管理软件Melody
docker·群晖·多媒体