Docker安装部署分布式数据库 OceanBase的详细过程

前言

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

⛳️ 1.什么是OceanBase

OceanBase是由蚂蚁集团完全自主研发的国产原生分布式数据库 ,始创于2010年。已连续9年平稳支撑双11, 创新推出“三地五中心”城市级容灾新标准 ,是一个在TPC-C和TPC-H测试上都刷新了世界纪录的国产原生分布式数据库。 产品采用自研的一体化架构,兼顾分布式架构的扩展性与集中式架构的性能优势,用一套引擎同时支持TP和AP的混合负载, 具有数据强一致、高可用、高性能、在线扩展、高度兼容SQL标准和主流关系数据库、低成本等特点。

Docker安装部署分布式数据库 OceanBase的详细过程_第1张图片

⛳️ 2.硬件要求

1.有笔记本或服务器,内存至少12G 。
2.操作系统不限,能安装 Docker 环境即可。
Docker 官方镜像:https://hub.docker.com/r/obpilot/oceanbase-ce

⛳️ 3.docker部署OceanBase

✨ 3.1 下载ob docker镜像

下载镜像:
docker pull obpilot/oceanbase-ce:latest

Docker安装部署分布式数据库 OceanBase的详细过程_第2张图片

✨ 3.2 创建容器

新容器创建
docker run -itd -m 10G -p 2881:2881 -p 2883:2883
–name oceanbase-ce obpilot/oceanbase-ce:latest
进入容器
[root@jeames ~]# docker exec -it oceanbase-ce bash
进入容器后,可以看看 readme.md 文档

Docker安装部署分布式数据库 OceanBase的详细过程_第3张图片

✨ 3.3 obd工具查看集群及启动

--  查看集群列表
[admin@3ef732cfb95a ~]$ obd cluster list
配置文件:/home/admin/.obd/cluster/obdemo/config.yaml

Docker安装部署分布式数据库 OceanBase的详细过程_第4张图片

-- 启动集群 
[admin@3ef732cfb95a ~]$  obd cluster start obdemo
如果遇到以下两个报错
[ERROR] (127.0.0.1) open files number must not be less than 20000 (Current value: 1024)
[ERROR] (127.0.0.1) not enough memory. (Free: 6.7G, Need: 8.0G)
一个是用户最大打开文件数不够,一个是可用内存不足8G,解决后成功启动。

Docker安装部署分布式数据库 OceanBase的详细过程_第5张图片

[admin@3ef732cfb95a ~]$ obd cluster list   
+------------------------------------------------------------+
|                        Cluster List                        |
+--------+---------------------------------+-----------------+
| Name   | Configuration Path              | Status (Cached) |
+--------+---------------------------------+-----------------+
| obdemo | /home/admin/.obd/cluster/obdemo | running         |
+--------+---------------------------------+-----------------+

[admin@3ef732cfb95a ~]$ netstat -tulnp | grep 88
tcp        0      0 0.0.0.0:2881            0.0.0.0:*               LISTEN      95/observer         
tcp        0      0 0.0.0.0:2882            0.0.0.0:*               LISTEN      95/observer         
tcp        0      0 0.0.0.0:2883            0.0.0.0:*               LISTEN      714/obproxy         
tcp        0      0 0.0.0.0:2884            0.0.0.0:*               LISTEN      714/obproxy       

✨ 3.4 登录ob数据库并创建租户

admin 用户的密码是 : adminPWD123

[admin@3ef732cfb95a ~]$ obclient -h127.1 -uroot@sys#obce-single -P2883 -prootPWD123 -c -A oceanbase
Welcome to the OceanBase.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.25 OceanBase 3.1.1 (r4-8c615943cbd25a6f7b8bdfd8677a13a21709a05e) (Built Oct 21 2021 10:52:05)

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [oceanbase]> show databases;
+--------------------+
| Database           |
+--------------------+
| oceanbase          |
| information_schema |
| mysql              |
| SYS                |
| LBACSYS            |
| ORAAUDITOR         |
| test               |
+--------------------+
7 rows in set (0.014 sec)

Docker安装部署分布式数据库 OceanBase的详细过程_第6张图片

创建资源单元、资源池、租户

MySQL [oceanbase]> CREATE resource unit S4C1G max_cpu=4, min_cpu=4, max_memory='1G', 
min_memory='1G', max_iops=10000, min_iops=1000, max_session_num=1000000, max_disk_size='1024G';

MySQL [oceanbase]> CREATE resource pool my_pool unit = 'S4C1G', unit_num = 1;

MySQL [oceanbase]> 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'; 

✨ 3.5 登录obmysql tenant并创建数据库及表等

[admin@3ef732cfb95a ~]$ obclient -h 127.1 -uroot@obmysql#obce-single -P2883 -p -c -A test
Enter password: 
Welcome to the OceanBase.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.6.25 OceanBase 3.1.1 (r4-8c615943cbd25a6f7b8bdfd8677a13a21709a05e) (Built Oct 21 2021 10:52:05)

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [test]> show databases;
+--------------------+
| Database           |
+--------------------+
| oceanbase          |
| information_schema |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.005 sec)

MySQL [test]> create database mesdb charset utf8mb4;
Query OK, 1 row affected (0.118 sec)

MySQL [test]> use mesdb
Database changed
MySQL [mesdb]> 
MySQL [mesdb]> 
MySQL [mesdb]> 
MySQL [mesdb]> source /tmp/mysql_employees.sql

Docker安装部署分布式数据库 OceanBase的详细过程_第7张图片

到此这篇关于Docker安装部署分布式数据库 OceanBase的文章就介绍到这了,更多相关Docker安装OceanBase内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Docker安装部署分布式数据库 OceanBase的详细过程)