Docker安装部署分布式数据库 OceanBase的详细过程
前言
快速的体验 OceanBase 的 自动化部署过程,以及了解 OceanBase 集群安装成功后的目录特点和使用方法
⛳️ 1.什么是OceanBase
OceanBase是由蚂蚁集团完全自主研发的国产原生分布式数据库 ,始创于2010年。已连续9年平稳支撑双11, 创新推出“三地五中心”城市级容灾新标准 ,是一个在TPC-C和TPC-H测试上都刷新了世界纪录的国产原生分布式数据库。 产品采用自研的一体化架构,兼顾分布式架构的扩展性与集中式架构的性能优势,用一套引擎同时支持TP和AP的混合负载, 具有数据强一致、高可用、高性能、在线扩展、高度兼容SQL标准和主流关系数据库、低成本等特点。
⛳️ 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
✨ 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 文档
✨ 3.3 obd工具查看集群及启动
-- 查看集群列表
[admin@3ef732cfb95a ~]$ obd cluster list
配置文件:/home/admin/.obd/cluster/obdemo/config.yaml
-- 启动集群
[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,解决后成功启动。
[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)
??? 创建资源单元、资源池、租户
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的文章就介绍到这了,更多相关Docker安装OceanBase内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341