暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

实践练习一:OceanBase Docker 体验

原创 2023-06-16
337

实践练习一:OceanBase Docker 体验

练习目的

本次练习目的是通过 OceanBase Docker 容器,快速的体验 OceanBase 的 自动化部署过程,以及了解 OceanBase 集群安装成功后的目录特点和使用方法。

练习条件

  1. 有笔记本或服务器,内存至少12G 。
  2. 操作系统不限,能安装 Docker 环境即可。

练习内容

请记录并分享下列内容:

  1. (必选)下载Docker 镜像:OceanBase 官方社区版镜像 53
  2. (必选)使用 OBD 命令完成后续的 OceanBase 集群部署。
  3. (必选)创建一个业务租户、一个业务数据库,以及一些表等。

参考资料

  1. 社区版官网-文档-学习中心-入门教程:实战教程第二章2.2:如何快速体验 OceanBase 81
  2. 社区版官网-博客-入门实战:实战教程第二章2.2:如何快速体验 OceanBase 28
  3. 社区版官网-问答:OceanBase CE 容器下载使用简介 12
  4. 教程视频:【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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论