在 Mac 和 Windows 系统中快速部署 OceanBase

OceanBase 是一款分布式数据库,具备出色的性能和高扩展性,可以为企业用户构建稳定可靠、灵活扩展性能的数据库服务。本文以开发者们普遍熟悉的Windows 或 Mac 环境为例,介绍如何快速上手并体验OceanBase。

一、环境准备

1. 硬件准备

OceanBase 从 4.0 版本开始进行了架构的升级,进一步降低了对资源的占用,按照最新的文档要求,最少只需要2核10GB以上的资源,因为磁盘会进行预分配,剩余的可用磁盘空间要保证在内存的6倍以上,以目前一般的开发机来说,比较容易达到最低的资源要求。

2. 系统要求

OceanBase目前只提供了 Linux 安装包 ,可以运行在大部分的服务器环境,但是作为开发者,常用的开发机一般是 Windows 系统或者 Mac 系统,这种情况可以有两种选择,安装虚拟机,虚拟出一个 Linux 系统,或者通过 Docker 拉起一个 Linux 系统的容器,因为 Docker 对于系统的资源占用上相对较少,本文就介绍 Docker 的方式。

不同操作系统安装 Docker 的方法,可以参考以下链接:

以 Mac 系统为例,安装的 Docker 程序带有图形化的管理页面,Windows 的程序也是类似的。

首先要确保给 Docker 分配了大于前面提到的最小要求的资源,可以参考下方的视频:

安装 Docker 的方法

Docker 程序启动之后,在命令行中通过以下命令验证 Docker 环境可用:

docker ps -a

命令可以正常执行,说明 Docker 环境准备成功,可以顺利的进行下一步。

二、使用 Docker 快速部署 OceanBase

Docker 环境准备好之后,就可以在主机上启动容器了,恰好 OceanBase 提供了单机版的镜像,完美适用于快速体验的场景。

1. 拉取镜像

OceanBase 的单机版镜像 oceanbase/oceanbase-ce, 按照版本以不同的 tag 划分, 最新的是 4.0.0.0 版本,latest 默认对应的是最新发布的版本,体验最新版本,可以直接使用 latest 作为 tag,或者不写 tag。

docker pull oceanbase/oceanbase-ce

通过 Docker 命令可以查看到镜像的信息,说明镜像拉取成功。

2. 启动单节点 OceanBase 容器

OceanBase 镜像提供了两个可以设置的环境变量:

作为快速体验的环境,可以设置 MINI_MODE 为 true 以减少资源的占用,使用以下命令拉起 oceanbase 容器。

docker run -p 2881:2881 --name oceanbase-ce -e MINI_MODE='true' -d oceanbase/oceanbase-ce

OceanBase 启动大约需要 2 分钟左右时间,当容器日志出现 boot success! 时,说明 OceanBase 已经启动成功。

3. 动手体验 OceanBase

在 OceanBase 的 Docker 容器中还自带了常用的一些工具,在部署完之后可以直接用来做一些验证。

使用以下命令可以使用 sys 租户连接到 OceanBase 数据库:

docker exec -it oceanbase-ce ob-mysql sys

连接之后通过一些简单的查询,可以看到部署了一个单节点的集群,使用的是 127.0.0.1 作为 ip 地址,并且创建了一个名为 test 的租户。

使用以下命令可以使用 test 租户连接到 OceanBase 数据库:

docker exec -it oceanbase-ce ob-mysql root # 使用 root 账号docker exec -it oceanbase-ce ob-mysql test # 使用 test 账号

可以看到test 租户下又创建了一个 test 用户。

OceanBase 的镜像中还提供了sysbench工具,可以使用以下命令对 OceanBase 作 sysbench 测试:

docker exec -it oceanbase-ce obd test sysbench obcluster

可以看到测试的一些统计结果,由于是在个人的开发电脑上,具体的性能数据仅能作为参考。

三、使用 OBD 快速部署 OceanBase

使用 Docker 方式部署 OceanBase 简单快速,但是仅提供了两个可以配置的选项,甚至连集群名都无法配置,爱折腾的各位开发者们肯定不满足于此。

这部分我们会用 OBD来部署 OceanBase, 并且做一些自定义的修改,更能增加一些互动的感觉,OBD 是 OceanBase 开源软件的安装部署工具,可以用来管理 OceanBase 所有的开源软件。

1. 系统准备

利用开发机上的 Docker 启动一个 Linux 系统的容器,通过这种方式来模拟 Linux 环境,这里我们使用 centos7 的镜像。

拉取镜像

docker pull centos:7

启动并登录到容器环境

docker run -it --name=centos-7 --entrypoint=/bin/bash centos:7

通过以上的步骤,现在我们已经成功的进入到了一个容器化的 Linux 环境中。

2. 准备 OBD 环境

OBD 可以直接以 rpm 包的方式安装,然后根据部署的配置,在线下载对应的 rpm 包,也可以通过 oceanbase-all-in-one 包的方式来安装,这种方式适用于网络不好的环境,会一起下载所有部署 OceanBase 需要的 rpm 包,本文以这种方式来进行安装。

安装命令很简单,只需要一条命令,就可以下载并且安装好 oceanbase-all-in-one。

bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/installer.sh)"

安装完成之后,会在屏幕上输出接下来可以使用的一些命令,第一步需要设置好环境变量,然后可以验证 OBD 命令可用。

3. 使用 OBD 部署 OceanBase 单节点集群

OBD 提供了各种场景的配置文件样例,可以以此作为基础按照真实的环境来进行配置 。

oceanbase-all-in-one 安装完成之后,在安装路径的 conf 目录,或者 OBD 的安装目录的 example 目录下有配置文件的样例,本地单节点集群的配置样例为 mini-local-example.yaml,首先复制一份配置文件,然后将配置文件中的 mysql_port, rpc_port 分别修改为3881, 3882。

修改后的配置危机如上图,其他配置项保持默认。

使用如下命令进行部署:

obd cluster deploy test -c test.yamlobd cluster start test

启动成功,以我们自定义的mysql_port来连接,可以正常连接上集群。

4. 体验 OceanBase

使用 OBD 命令创建好集群之后,并没有默认的业务租户,需要再次调用obd创建租户的命令来创建。

obd cluster tenant create test -n obmysql --max-cpu=2 --memory-size=2G --log-disk-size=3G --max-iops=10000 --iops-weight=2 --unit-num=1 --charset=utf8

验证使用新建的租户可以登录集群,至此,我们已经按照自定义的端口部署了一个 OceanBase 集群,创建出了可用的租户,更多的功能就可以等待大家继续去探索了。

四、总结

我们为开发者提供了多种方式来体验 OceanBase 数据库,尽量减少了对硬件资源的要求,在一般的开发机上就可以运行,无论使用的是 Windows、 Mac 或者 Linux 系统,通过容器化的方式,都可以将 OceanBase 部署起来,让 OceanBase 成为一个人人摸得到的数据库,我们目前正在开发交互式的安装方式,将进一步的优化安装体验,后面会有更多的介绍,请保持期待。

此外,也可以免费开通 OceanBase 云数据库 来进行体验,免去部署过程。

相关推荐
OceanBase数据库官方博客11 小时前
半连接转内连接 | OceanBase SQL 查询改写
sql·oceanbase·分布式数据库
OceanBase数据库官方博客18 小时前
解析在OceanBase创建分区的常见问题|OceanBase 用户问题精粹
oceanbase·分布式数据库·分区
OceanBase数据库官方博客18 小时前
半连接转内连接规则的原理与代码解析 |OceanBase查询优化
sql·oceanbase·分布式数据库
IT培训中心-竺老师4 天前
OceanBase 数据库分布式与集中式 能力
数据库·分布式·oceanbase
靖顺4 天前
【OceanBase 诊断调优】—— OceanBase 数据库网络速率配置方案
网络·数据库·oceanbase
尚雷558012 天前
OceanBase 社区版 4.0 离线方式升级bp1至bp2 指南(含避坑总结)
oceanbase
五月高高12 天前
Linux部署oceanbase
linux·oceanbase
靖顺15 天前
【OceanBase 诊断调优】—— 统计信息自动收集超时导致的估行不准 SQL 选择错索引
数据库·sql·oceanbase
it界的哈士奇15 天前
Oceanbase离线集群部署
oceanbase