OceanBase Docker 体验

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: OceanBase Docker 体验

OceanBase Docker 体验

主机环境

Vmware 虚拟机 CentOS 7 内存 11G cpu 2个 硬盘 40G

0. 安装 Docker

使用存储库安装

  1. 设置存储库

sudo yum install -y yum-utils


sudo yum-config-manager \

   --add-repo \

   https://download.docker.com/linux/centos/docker-ce.repo

  1. 安装 Docker 引擎

# 安装最新版本的 Docker Engine 和 containerd

sudo yum install docker-ce docker-ce-cli containerd.io

OR

# 安装特定版本的 Docker


yum list docker-ce --showduplicates | sort -r


sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

  1. 启动 Docker

systemctl start docker


# 查看是否启动成功 显示为active(running)即为启动成功

systemctl status docker

4. 将docker设置为开机自启动,免得每次重启虚拟机都要开启docker服务

systemctl enable docker

1. 查看 OceanBase 数据库相关镜像。

# 搜索 oceanbase 相关镜像

docker search oceanbase  

2. 下载 OceanBase -> obpilot/oceanbase-ce 镜像。

https://hub.docker.com/repository/docker/obpilot/oceanbase-ce

# 拉取 oceanbase obpilot/oceanbase-ce 镜像

docker pull obpilot/oceanbase-ce:latest

# 查看下载的镜像

docker images

3. 安装 OceanBase -> obpilot/oceanbase-ce 镜像

# 启动 OceanBase Docker 容器

docker run -itd -m 10G -p 2881:2881 -p 2883:2883 --name oceanbase-ce obpilot/oceanbase-ce:latest

# 查看 OceanBase Docker 容器

docker ps

# 进入 OceanBase Docker 容器

docker exec -it oceanbase-ce bash


4. 使用 OBD 命令完成后续的 OceanBase 集群部署。

# 查看 ODB 部署配置

obd cluster list

# 部署 Ocean Base 单副本集群

obd cluster start obdemo

Bug上一步 启动 OceanBase Docker 容器 没有完全启动起来出现链接错误,等一下就好啦

ok 部署成功

# 查看集群详细信息

obd cluster display obdemo

3. 创建一个业务租户、一个业务数据库,以及一些表等。

登录单副本集群

obckuebt 命令

  • -h+IP地址
  • -u+用户名
  • 用户名 =(租户户)+@(实例名)#(集群名称)


  • -P+2883 端口号
  • -p+密码
  • -c 表示在 MySQL 运行环境中不要忽略注释。
  • -A 表示在 MySQL 连接数据库时不自动获取统计信息。
  • oceanbase 访问的数据库名,可以改为业务数据库。

# 使用 observer 2881 端口登录 直连

obclient -h127.1 -uroot@sys -P2881 -prootPWD123 -c -A oceanbase


# 使用 obproxy 2883 端口登录

obclient -h127.1 -uroot@sys#obce-single -P2883 -prootPWD123 -c -A oceanbase

创建租户

修改资源单元配置

alter resource unit sys_unit_config min_cpu=2;

创建资源单元规格

创建资源单元规格,并不会立即分配资源。资源单元规格元数据在视图 __all_unit_config 里。 创建之前可以先查看一下,如果有合适的规格,也是可以复用的。

CREATE resource unit S1 max_cpu=2, min_cpu=2, max_memory='2G', min_memory='2G', max_iops=10000, min_iops=1000, max_session_num=1000000, max_disk_size='10G';

参数解释

参数

描述

MAX_CPU

指定 CPU 的最多数量。

MAX_MEMORY

指定最大内存容量,取值范围为[1073741824, +∞) 。单位为字节B,最小值为 1G。

MAX_IOPS

指定 IOPS 的最多数量,取值范围为[128,+∞)。

MAX_DISK_SIZE

指定最大硬盘容量,取值范围为[536870912,+∞]。单位为字节,即最小值为 512M。

MAX_SESSION_NUM

指定 Session 的最多数量,取值范围为[64,+∞)。

MIN_CPU

指定 CPU 的最少数量。

MIN_MEMORY

指定最小内存容量。

MIN_IOPS

指定 IOPS 的最少数量。

修改资源单元配置时,各参数与 CREATE resource unit 一致

创建资源池

资源池从节点的资源中分配。资源池在每个节点里的部分被称之为“资源单元”。每个资源单元的大小通过创建的时候指定“资源单元规格”定。

CREATE resource pool my_pool unit = 'S1', unit_num = 1;

参数解释:

参数

描述

poolname

指定要创建的资源池的名称。

UNIT [=] unitname

指定资源规格的名称。

UNIT_NUM [=] unitnum

指定要创建的单个 Zone 下的 Unit 个数。每个单元会根据当前集群负载,自动在每个 Zone 中选择一个 Server 负载,但同一个资源池的多个 Unit 不能分配到同一个 Server,即一个资源池包含的 Unit 个数不能超过单 ZoneServer 的个数。

ZONE_LIST [=] ('zone' [, 'zone' …])

指定要创建的资源池所属的 Zone。 如果不指定,就默认在所有 Zone 创建这个资源单元。

创建业务实例(创建租户

create tenant obmysql resource_pool_list=('my_pool'), primary_zone='RANDOM',comment 'mysql tenant/instance', charset='utf8' set ob_tcp_invited_nodes='%', ob_compatibility_mode='mysql';

exit;

参数解释:

参数

描述

tenant_name

指定租户名。最长 64 个字节,只能有大小写英文字母,数字和下划线,而且必须以字母或下划线开头,并且不能是 OceanBase 数据库的关键字。

IF NOT EXISTS

如果要创建的租户名已存在,并且没有指定 IF NOT EXISTS,则会报错。

RESOURCE_POOL_LIST

资源池列表,为创建租户时的必填项 。

DEFAULT TABLEGROUP

设置租户默认表分组信息,NULL 表示取消默认表分组。如果不指定,默认为 NULL。

COMMENT

修改注释。

CHARACTER SET

CHARSET

COLLATE

指定校对规则。

REPLICA_NUM

指定副本数。

ZONE_LIST

指定要修改的 Zone 列表。

PRIMARY_ZONE

指定 Primary Zone。

LOGONLY_REPLICA_NUM

指定日志副本数。

LOCALITY

描述副本在 Zone 间的分布情况,如:F@z1,F@z2,F@z3,R@z4 表示 z1、z2、z3 为全功能副本,z4 为只读副本。

system_var_name

指定租户系统变量值。其中 ob_compatibility_mode 用于指定租户的兼容模式(可选 mysqloracle 。社区版只支持 mysql ),只能在创建时指定;如果不指定 ob_compatibility_mode,默认兼容模式为 mysql

链接业务实例

  1. 使用 obclient 客户端链接  使用方法跟 mysql 命令一样

obclient -h 127.1 -uroot@obmysql#obce-single -P2883 -p -c -A test


创建业务数据库

#创建业务数据库 odb00

create database odb00;


在业务租户 创建用户

# create user 创建用户

create user user20@'%' identified by 'user20';

# 赋予用户user01权限

grant all privileges on *.* to user20@'%' ;


# grant 语句自动创建用户

grant all privileges on *.* to user30@'%' identified by 'user30';


# 使用 show grants 查看用户权限

show grants for user20;

show grants for user30;

 

创建业务表

# 使用业务用户 user20 登录 obmysql 租户的 odb00 数据库

obclient -h 127.1 -uuser20@obmysql#obce-single -P2883 -puser20 -c -A odb00


# 创建名为 test1 的表

create table test1(id int) ;

 

# 向test1表中插入一行数据

insert into test1 values(1) ;

 

# 从 test1 表中选取所有列

select * from test1 ;

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
SQL 数据库 Docker
OBCP实践 - OceanBase Docker 体验
开发者和技术爱好者可以在无需复杂安装配置的情况下迅速搭建OceanBase数据库环境,从而方便地进行功能测试、性能评估或者开发调试等实践活动。同时,由于Docker的便捷性,此方法也支持跨平台部署,使得OceanBase数据库能够在不同的操作系统(如Linux、Windows、macOS)上轻松体验。
286 2
|
存储 弹性计算 关系型数据库
5 分钟玩转 OceanBase 社区版 Docker 部署
## 简介 本文是个人把 OceanBase 社区版 3.1 做了一个 Docker 镜像,仅用于学习研究。只要你有一个 4C10G的笔记本可以联公网,你就可以在5分钟内将 OceanBase 社区版跑起来。 OceanBase 社区版是今年 6月1日开源的,只兼容 MySQL,可以理解为分布式的MySQL。其核心功能跟内部业务在用的OceanBase 企业版基本一致。核心功能包含:**多副
3507 0
5 分钟玩转 OceanBase 社区版 Docker 部署
|
存储 容灾 固态存储
【docker】使用容器安装部署OceanBase社区版数据库
【docker】使用容器安装部署OceanBase社区版数据库
1442 0
【docker】使用容器安装部署OceanBase社区版数据库
|
Oracle 关系型数据库 MySQL
arm服务器OceanBase初始化安装体验
OceanBase初始化安装体验
491 0
|
SQL 缓存 算法
首届OceanBase数据库大赛冠军!被北京青年报点赞的人大队伍谈参赛体验
首届OceanBase数据库大赛冠军!被北京青年报点赞的人大队伍谈参赛体验
478 0
首届OceanBase数据库大赛冠军!被北京青年报点赞的人大队伍谈参赛体验
|
Oracle 网络协议 关系型数据库
使用docker快速体验oceanbase
在Windows上使用dockers快速体验oceanbase
531 0
|
SQL Oracle 关系型数据库
OceanBase 2.2 体验:用JMeter测试OceanBase性能
本文介绍使用JMeter测试OceanBase性能的方法。 这个方法适用于所有关系数据库(包括分布式的)。
2363 0
|
5天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
22 2
|
3天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
11天前
|
关系型数据库 MySQL API