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

实践练习一:OceanBase Docker 体验

原创 ob小白 2024-03-12
119

实践练习一:OceanBase Docker 体验

练习目的

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

练习条件

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

练习内容

请记录并分享下列内容:
(必选)下载Docker 镜像:OceanBase 官方社区版镜像 53
(必选)使用 OBD 命令完成后续的 OceanBase 集群部署。
(必选)创建一个业务租户、一个业务数据库,以及一些表等。

参考资料

  1. 社区版官网-文档-学习中心-入门教程:实战教程第二章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@oceanbaseYu ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker
[root@oceanbaseYu ~]# yum -y install docker-ce docker-ce-cli containerd.io
验证
[root@oceanbaseYu ~]# systemctl start docker
[root@oceanbaseYu ~]# systemctl status docker
[root@oceanbaseYu ~]# docker version

三、下载OceanBase镜像

由于国外Docker下载实在太慢,使用下列方法更换为阿里云的docker源
 [root@oceanbaseYu ~]# mkdir -p /etc/docker
 [root@oceanbaseYu ~]# vim /etc/docker/daemon.json
 {
  "registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"]
 }
 
 [root@oceanbaseYu ~]# systemctl daemon-reload
 [root@oceanbaseYu ~]# systemctl restart docker
此时下载就很快了,安装完成
[root@oceanbaseYu ~]# docker pull obpilot/oceanbase-ce:latest
启动镜像设置Docker资源,OB低于10G内存会报错
 [root@oceanbaseYu ~]# docker images | grep oceanbase
 obpilot/oceanbase-ce   latest   943379e0b05b   10 months ago   2.25GB
 [root@oceanbaseYu ~]# docker run -itd -m 10G -p 2881:2881 -p 2883:2883 --name oceanbase-ce obpilot/oceanbase-ce:latest
 1cb6a05746e9853bb8528c83ae0de3f344b88ec94d7739ade868cbb56db6d772
 [root@oceanbaseYu ~]# 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@oceanbaseYu ~]# 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
最后修改时间:2024-03-12 15:51:19
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论