一、Windows 10 安装docker
1.1 下载docker
https://hub.docker.com/editions/community/docker-ce-desktop-windows
1.2 安装docker
1.3 在Windows 功能中开启CPU虚拟化功能
1.4 WSL2 安装
1.5 docker 启动报错,处理办法如下
需要使用管理员运行 powershell,然后执行
PS > netsh winsock reset
1.6 重启计算机
1.7 设置 docker registry 镜像仓库注册地址
1.8 重启dokcer
二、下载OceanBase 的Docker镜像
2.1 搜索oceanbase的可用镜像
2.2 下载镜像
![image.png]
2.3 查看镜像
三、使用 OBD 命令完成后续的 OceanBase 集群部署。
3.1 启动OceanBase容器
docker run -p 2881:2881 -p 2883:2883 --name yangkaiobcp -itd -m 10G obpilot/oceanbase-ce:latest
3.2 进入容器并查看集群
3.3 启动集群
知识点:
OBServer:运行 OBServer 进程的物理机。一台物理机上可以部署一个或者多个 OBServer。在 OceanBase 内部,server 由其 IP 地址和服务端口唯一标识。
OBProxy:应用访问数据库使用兼容 MySQL/Oracle 的客户端来访问 OceanBase, OceanBase 以服务的形式提供给应用访问。OBProxy 就是满足此种需求,方便应用使用兼容 MySQL/Oracle 的客户端访问 OceanBase,它接收客户端的应用请求,并转发给 OBServer,然后 OBServer 将数据返回给 OBProxy, OBProxy 将数据转发给应用客户端。
通过启动集群可以发现oceanbase docker会自动部署了1台observer和1台obproxy,如下图:
3.4 获取租户名、集群名称、登录密码
3.5 登录
四、创建一个业务租户、一个业务数据库,以及一些表等。
租户知识点:
OceanBase集群将一组机器的资源能力聚合为一个大的资源池,然后从中划分出不同大小资源的租户给业务使用。业务使用的是OceanBase租户。
租户就是通常说的实例。不过OceanBase租户有两种兼容模式可选(ORACLE或MySQL),租户创建的时候选中一种兼容模式。业务方使用租户的体验就跟使用ORACLE或者MySQL实例差不多。
业务方感知不到OceanBase集群,只能接触到租户(实例)。如果是ORACLE租户,可以在里面创建多个schema(对应多个用户),指代数据库时需要指定schema名称;如果是MySQL租户,可以在里面创建多个database。指代数据库时就需要指定具体的database名称。
租户创建流程:定义资源单元规格 -> 创建资源池->创建租户
4.1 查看OB集群所有节点信息
查看OceanBase集群可用资源情况。
由上面可以看出,oceanbase默认sys租户使用了1-5个CPU,1个内存。大概还可以分配 4个CPU,内存无法分配
4.2 修改参数max_memory,再次查看如下
4.3 创建资源单元规格 -> 创建资源池->创建租户
CREATE resource unit yk1G max_cpu=2, min_cpu=1, max_memory=‘1G’, min_memory=‘1G’, max_iops=10000, min_iops=1000, max_session_num=10000, max_disk_size=‘1G’;
CREATE resource pool yk_pool unit = ‘yk1G’, unit_num = 1;
create tenant yangkai resource_pool_list=(‘yk_pool’), primary_zone=‘RANDOM’,comment ‘mysql tenant/instance’, charset=‘utf8’ set ob_tcp_invited_nodes=’%’, ob_compatibility_mode=‘mysql’;
4.4 用新建的租户yangkai登录,并创建数据库ykdb、创建表、插入数据
五、实验总结
通过本次实践收获颇多,总结如下:
1.学会了windows 如何安装docker和报错处理方法
2.学会了docker的基本使用
3.了解了oceanbase的体系架构
4.OBD工具部署单节点OB集群环境。
5.obclient工具使用
6.明白什么是OBServer和OBProxy
7.了解是租户的概念和创建流程
总体上来说,主要对oceanbase有了一个简单入门级的了解,争取下个月拿到OBCP的认证。最后祝愿oceanbase 早日打败Oracle,占据数据库排行榜第一名。