使用Docker快速体验OceanBase
通过本示例可快速体验OceanBase(MySQL租户)
1、机器资源要求
OceanBase Docker 容器对资源的要求如下:
机器可用内存不少于 10G (注意:是剩余可用内存)
机器磁盘目录空间不少于 10G 。少于10G后面使用可能会不是很方便。如遭遇空间目录问题。
CPU 建议至少有 2个 逻辑 CPU 。
本例使用8C16G的虚拟机,系统使用CentOS 7.9
2、安装Docker
docker详细安装请参考https://docs.docker.com/engine/install/centos/
1. 卸载旧版Docker
su - root
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
2. 安装依赖包
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
3. 启动docker
systemctl status docker
systemctl start docker
systemctl status docker
4. 常用命令
# 查看docker版本
docker version
# 显示docker系统的信息
docker info
# 日志信息
docker logs
# 故障检查
systemctl status docker
# 启动关闭docker
systemctl start docker
systemctl stop docker
# 查看容器日志
docker logs -f <容器名orID>
# 清理命令,危险!!!
# 清理不用的容器
docker container prune
# 清理不用的镜像
docker image prune
# 清理不用的卷
docker volume prune
3、获取OceanBase数据库相关镜像并启动
1. 下载OceanBase镜像
docker search oceanbase # 搜索 oceanbase 相关镜像
docker pull obpilot/oceanbase-ce:latest
2. 启动OceanBase Docker容器
docker run -itd -m 10G -p 2881:2881 -p 2883:2883 --name oceanbase-ce obpilot/oceanbase-ce:latest
3. 检查进程
docker ps
4. 查看集群列表
docker exec -it oceanbase-ce bash
obd cluster list
5. 启动集群
obd cluster start obdemo
obd cluster list
4、登陆OceanBase并创建租户
注:此镜像的admin用户的密码是: adminPWD123,如需安装软件包可使用sudo yum
obclient -h127.1 -uroot@sys#obce-single -P2883 -prootPWD123 -c -A oceanbase
#创建资源单元
alter resource unit sys_unit_config min_cpu=5;
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';
#创建资源池
CREATE resource pool my_pool unit = 'S4C1G', unit_num = 1;
#创建租户
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';
exit;
注:生产环境尽量避免明文输入密码,使用交互模式登陆
5、登陆租户(obmysql)创建数据库和表
注:生产环境尽量避免明文输入密码,使用交互模式登陆
obclient -h 127.1 -uroot@obmysql#obce-single -P2883 -p -c -A test
#默认空密码
#创建数据库、表
show databases;
create database mydb;
use mydb;
create table obtabtest01 (id int(10),name varchar(100));
show tables;
insert into obtabtest01 values(1,'张三');
insert into obtabtest01 values(1,'李四');
insert into obtabtest01 values(1,'王五');
commit;
select * from obtabtest01;
相关连接:
https://open.oceanbase.com/answer/detail?id=13700695
https://hub.docker.com/r/obpilot/oceanbase-ce