实践练习一:OceanBase Docker 体验
练习目的
本次练习目的是通过 OceanBase Docker 容器,快速的体验 OceanBase 的 自动化部署过程,以及了解 OceanBase 集群安装成功后的目录特点和使用方法。
练习条件
- 有笔记本或服务器,内存至少12G 。
- 操作系统不限,能安装 Docker 环境即可。
练习内容
请记录并分享下列内容:
- (必选)下载Docker 镜像:OceanBase 官方社区版镜像 53 。
- (必选)使用 OBD 命令完成后续的 OceanBase 集群部署。
- (必选)创建一个业务租户、一个业务数据库,以及一些表等。
参考资料
- 社区版官网-文档-学习中心-入门教程:实战教程第二章2.2:如何快速体验 OceanBase 81
- 社区版官网-博客-入门实战:实战教程第二章2.2:如何快速体验 OceanBase 28
- 社区版官网-问答:OceanBase CE 容器下载使用简介 12
- 教程视频:【2-2-OceanBase Docker 体验.mp4] 18
一、环境信息
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)[root@localhost ~]# free -g
total used free shared buff/cache available
Mem: 11 0 9 0 1 10
Swap: 4 0 4
二、安装Docker
[root@adamkuo ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker
[root@adamkuo ~]# yum -y install docker-ce docker-ce-cli containerd.io
验证
[root@adamkuo ~]# systemctl start docker
[root@adamkuo ~]# systemctl status docker
[root@adamkuo ~]# docker version
三、下载OceanBase镜像
由于国外Docker下载实在太慢,使用下列方法更换为阿里云的docker源
[root@adamkuo ~]# mkdir -p /etc/docker
[root@adamkuo ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"]
}
[root@adamkuo ~]# systemctl daemon-reload
[root@adamkuo ~]# systemctl restart docker
此时下载就很快了,安装完成
[root@adamkuo ~]# docker pull obpilot/oceanbase-ce:latest
启动镜像设置Docker资源,OB低于10G内存会报错
[root@adamkuo ~]# docker images | grep oceanbase
obpilot/oceanbase-ce latest 943379e0b05b 10 months ago 2.25GB
[root@adamkuo ~]# docker run -itd -m 10G -p 2881:2881 -p 2883:2883 --name oceanbase-ce obpilot/oceanbase-ce:latest
1cb6a05746e9853bb8528c83ae0de3f344b88ec94d7739ade868cbb56db6d772
[root@adamkuo ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1cb6a05746e9 obpilot/oceanbase-ce:latest "/bin/bash" 8 seconds ago Up 6 seconds 0.0.0.0:2881->2881/tcp, :::2881->2881/tcp, 0.0.0.0:2883->2883/tcp, :::2883->2883/tcp oceanbase-ce
四、启动OB集群并创建租户
进入Docker镜像并使用OBD工具启动OB集群
[root@adamkuo ~]# docker exec -it oceanbase-ce bash
[admin@1cb6a05746e9 ~]$ obd cluster list
+------------------------------------------------------------+
| Cluster List |
+--------+---------------------------------+-----------------+
| Name | Configuration Path | Status (Cached) |
+--------+---------------------------------+-----------------+
| obdemo | /home/admin/.obd/cluster/obdemo | deployed |
+--------+---------------------------------+-----------------+
[admin@1cb6a05746e9 ~]$ obd cluster start obdemo
Get local repositories and plugins ok
Open ssh connection ok
Cluster param config check ok
Check before start observer ok
[WARN] (127.0.0.1) The recommended number of open files is 655350 (Current value : 65536)
Check before start obproxy ok
Start observer ok
observer program health check ok
Connect to observer ok
Initialize cluster
Cluster bootstrap ok
Wait for observer init ok
+---------------------------------------------+
| observer |
+-----------+---------+------+-------+--------+
| ip | version | port | zone | status |
+-----------+---------+------+-------+--------+
| 127.0.0.1 | 3.1.1 | 2881 | zone1 | active |
+-----------+---------+------+-------+--------+
Start obproxy ok
obproxy program health check ok
Connect to obproxy ok
Initialize cluster
+---------------------------------------------+
| obproxy |
+-----------+------+-----------------+--------+
| ip | port | prometheus_port | status |
+-----------+------+-----------------+--------+
| 127.0.0.1 | 2883 | 2884 | active |
+-----------+------+-----------------+--------+
obdemo running
登录OB数据库并创建MySQL租户
[admin@1cb6a05746e9 ~]$ obclient -h127.1 -uroot@sys#obce-single -P2883 -prootPWD123 -c -A oceanbase
MySQL [oceanbase]> alter resource unit sys_unit_config min_cpu=5;
Query OK, 0 rows affected (0.180 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';
Query OK, 0 rows affected (0.229 sec)
MySQL [oceanbase]> CREATE resource pool my_pool unit = 'S4C1G', unit_num = 1;
Query OK, 0 rows affected (0.198 sec)
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';
Query OK, 0 rows affected (22.710 sec)
登录OB MySQL租户
[admin@1cb6a05746e9 ~]$ obclient -h 127.1 -uroot@obmysql#obce-single -P2883 -p -c -A test
Enter password:
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.146 sec)
创建数据库和表等:
[admin@1cb6a05746e9 ~]$ obclient -h 127.1 -uroot@obmysql#obce-single -P2883 -p -c -A test
MySQL [test]> source /tmp/test_db-master/employees.sql;
MySQL [employees]> show databases;
+--------------------+
| Database |
+--------------------+
| oceanbase |
| information_schema |
| mysql |
| test |
| royce |
| world |
| employees |
+--------------------+
7 rows in set (0.014 sec)
MySQL [employees]> show tables;
+----------------------+
| Tables_in_employees |
+----------------------+
| current_dept_emp |
| departments |
| dept_emp |
| dept_emp_latest_date |
| dept_manager |
| employees |
| salaries |
| titles |
+----------------------+
8 rows in set (0.008 sec)
至此,练习一完成。
参考文献:
https://hub.docker.com/r/obpilot/oceanbase-ce
https://lhrbest.blog.csdn.net/article/details/122265834
最后修改时间:2023-06-16 16:02:26
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




