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

创建数据库

创建表

相关推荐
张忠琳9 小时前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
Elastic 中国社区官方博客11 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
风曦Kisaki13 小时前
#企业级docker私有仓库构建:harbor仓库与阿里云镜像仓库
阿里云·docker·容器
期待着201314 小时前
docker 安装 ,在centos7.9
运维·docker·容器
骑上单车去旅行16 小时前
Docker Compose 命令完全指南:从构建到运维
docker·容器·eureka
前端Baymax17 小时前
K8s PodCrashLoopBackOff假阳性排查
云原生·容器·kubernetes
spider_xcxc17 小时前
K8s 部署学习笔记
docker·容器·kubernetes·云计算·k8s
java_logo18 小时前
Docker Compose 部署 Apache Superset:轻松搭建开源 BI 平台
docker·开源·apache·superset·轩辕镜像·superset部署方案·docker superset
zy happy18 小时前
VMware虚拟机添加新的硬盘
java·linux·jvm·docker
阿标在干嘛1 天前
从物理机到K8s:政策快报平台的容器化部署实践
云原生·容器·kubernetes