低配服务器上如何搭建 OceanBase 数据库环境?

相比其他数据库,OceanBase 数据库对服务器资源要求较高,本文意在通过一些非常规方式修改安装脚本等配置,降低 OceanBase 数据库部署时对服务器资源的要求。此方式仅适用于个人学习及简单功能验证,不适用于性能测试及生产用途。

适用版本

OceanBase 数据库 V2.2.50 前的版本

部署步骤

以下示例中以 OceanBase 数据库服务器配置要求降低至 8C32G,300 G 普通存储(具体大小视需要存放多少数据)为例进行说明。本示例中对网卡无要求,但各台服务器时间必须严格同步(误差在 50 m 内)。

  • 通过 OCP 界面安装
  • 在安装集群前需要先修改 OCP docker 容器文件 /home/admin/obztools/src/task/obauto_plus/ob_operate_plus.py,在第 488 行的 param 变量值后追加 “system_memory=30G”。修改后的内容如下所示。

“param = param_must + ’ -o “{0},__min_full_resource_pool_memory=1073741824,_ob_enable_prepared_statement=false,system_memory=30G”’.format(param_opt)”

  • 注意此处的 system_memory 的值可根据服务器实际内存进行调整,不建议调至更低,否则会引发一些系统内部错误。
  • 通过命令行安装
  • 在启动 observer 进程时,直接通过 -o 选项指定 system_memory 具体值即可。

注意假设服务器内存大小为 64 G,通过上述方式给 OceanBase 数据库内部预留 30 G,那么留给普通租户的可用内存就只剩下 64*memory_limit_percentage-30G,其中 memory_limit_percentage 默认为 80%。

OB 2.2.7 以前的版本也不建议学习了,新的生产业务都推荐 2.2.7  。

OB 开源后提供社区版 3.1 版本用于 OB 学习。 OB的学习理解只需要 observer和obproxy软件,OCP并不是必需的。可以查看 社区博客或者问答区以前的安装部署文章,了解 OB 3.1版本的黑屏部署方法。



要求

电脑剩余可用内存不少于10G

安装了 最新版本 Docker


步骤

  • docker pull oceanbase/obce-mini
  • docker run -itd -m 10G --name obce-mini -p 2881:2881 oceanbase/obce-mini
  • docker exec -it obce-mini bash


OBCE Docker 镜像源码

oceanbase/tools/docker/mini at master · oceanbase/oceanbase (github.com)