OceanBase安装配置:零基础单机部署实操教程
OceanBase 是一款国产分布式关系数据库,单机部署适合开发测试和学习。
本文以主流 Linux 发行版(如 CentOS 7.9 或 Ubuntu 20.04)为例,使用官方推荐的 OBD(OceanBase Deployer)工具完成安装配置。
整个过程不需要图形界面,全程命令行操作。
环境准备与系统检查
开始之前,确认服务器满足以下条件:
- 操作系统:CentOS 7.9 或 Ubuntu 20.04 及以上,内核版本不低于 3.10。
- 内存:至少 8GB,推荐 16GB 以上。
- 磁盘:数据盘剩余空间不低于 50GB,文件系统建议 ext4 或 xfs。
- 网络:能访问外网(用于下载安装包),或提前将安装包上传至服务器。
- 用户:使用 root 用户操作,或具备 sudo 权限的普通用户。
先关闭防火墙和 SELinux,避免端口被拦截。
以 CentOS 为例:
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
Ubuntu 系统使用 ufw disable 关闭防火墙。
修改内核参数,OceanBase 对文件句柄和内存映射有要求。
编辑 /etc/security/limits.conf,在文件末尾添加:
* soft nofile 655360
* hard nofile 655360
* soft nproc 655360
* hard nproc 655360
同时调整 /etc/sysctl.conf,加入以下内容后执行 sysctl -p 生效:
fs.aio-max-nr = 1048576
vm.max_map_count = 655360
vm.swappiness = 0
注意:修改内核参数后建议重启服务器,确保所有配置生效。
安装 OBD 并部署 OceanBase 集群
OBD 是 OceanBase 的自动化部署工具,可以大幅简化安装流程。
首先安装 OBD。
以 CentOS 为例,配置 YUM 源并安装:
yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo
yum install -y ob-deploy
Ubuntu 用户可使用 apt 源安装,或直接下载 RPM/DEB 包手动安装。
安装完成后执行 obd --version 确认版本号。
下面下载 OceanBase 数据库安装包。
OBD 支持在线下载,执行:
obd mirror clone /path/to/oceanbase-ce-*.rpm
如果没有本地包,可使用 obd mirror update 从远程仓库更新。
创建部署配置文件。
新建一个目录,例如 /root/obtest,进入后执行:
obd cluster autodeploy obtest -c oceanbase-ce
该命令会生成一个最小化配置文件。
编辑 obtest.yaml,根据服务器实际资源调整以下关键参数:
oceanbase-ce:
global:
memory_limit: 8G
system_memory: 4G
datafile_size: 20G
log_disk_size: 10G
servers:
- name: server1
ip: 127.0.0.1
避坑提示:memory_limit 不能超过物理内存的 80%,system_memory 建议为 memory_limit 的一半左右。
如果服务器内存较小,可适当降低 datafile_size。
保存文件后,执行部署命令:
obd cluster deploy obtest -c obtest.yaml
部署过程会自动初始化目录和配置。
看到 Deploy oceanbase-ce finished 表示成功。
启动集群与连接验证
部署完成后,启动集群:
obd cluster start obtest
启动过程中会检查各项服务状态。
出现 boot success 后,使用 OBD 查看集群状态:
obd cluster display obtest
正常情况下会显示 oceanbase-ce 和 obproxy-ce 两个组件均为 active。
连接数据库。
默认 root 用户无密码,端口为 2881:
obclient -h127.0.0.1 -P2881 -uroot@sys -p''
如果提示 obclient 命令不存在,先安装客户端:yum install -y obclient。
连接成功后,执行一条简单 SQL 验证:
SHOW DATABASES;
能看到 oceanbase、mysql 等系统库即表示集群工作正常。
常见报错处理:
obd cluster start失败,检查~/.obd/log/obd.log中的错误信息,常见原因是内存不足或端口被占用。- 连接超时,确认防火墙已关闭,且
2881和2882端口未被其他进程占用。 - 启动后立即退出,通常是
memory_limit设置过大导致 OOM,调小后重新部署。
日常维护与配置调整
集群运行后,可通过 OBD 进行启停和参数修改。
停止集群:obd cluster stop obtest。
重新启动:obd cluster restart obtest。
如需修改配置,先编辑 obtest.yaml,然后执行 obd cluster redeploy obtest 重新部署。
注意 redeploy 会清空数据,仅建议在测试环境使用。
生产环境请通过 SQL 命令在线调整参数。
查看集群日志:obd cluster display obtest 会给出日志路径,通常位于 ~/.obd/cluster/obtest/ 下。
排查问题时重点关注 observer.log。
OceanBase 安装配置的核心在于合理分配内存和磁盘资源,使用 OBD 工具后步骤已经大幅简化。
按照本文流程,零基础用户也能在半小时内搭起一个可用的单机测试环境。
遇到启动失败时,优先检查内存参数和端口占用,多数问题都能快速定位。