OBD简介
obd 全称为 OceanBase Deployer,是 OceanBase 数据库的安装部署工具,可以通过命令行部署或白屏界面部署,已成为集群与单机环境安装的 "标配利器"。按是否支持配置文件方式有可细分三种灵活部署模式:可视化界面(obd web)配置操作、交互式命令(obd cluster deploy -i)向导式配置、配置文件(config.yaml)批量部署,将复杂配置流程标准化,降低集群部署难度。
其中,命令行支持编辑配置文件,可以更加灵活的进行配置调整,适用于需要深度了解 OceanBase 的用户,有一定的使用门槛;白屏界面配置简单,通过页面的引导配置即可完成集群部署,适用于需要快速体验,构建标准环境的用户。
在集群部署之外,obd 还提供了包管理器、压测软件、集群管理等常用的运维能力,更好地支持用户体验使用 OceanBase 分布式数据库。
补充:
配置文件(config.yaml)本质也是属于命令行部署的一种。 obd cluster deploy -i 属于命令行形式,本质属于定制化部署的一种,相比obd demo/obd perf
通过OceanBase All in One方式安装OBD
安装 obd 的方法有3种,分别是通过 OceanBase All in One 安装、使用 RPM 安装以及使用源码安装,其中RPM 安装方式部署,需要考虑所用机器是否可以连接外部网络,分为 在线安装 和 离线安装 两种安装方法。需要注意的是,通过 RPM 包安装时仅安装 obd,当机器可以连接外部网络时,obd 会访问远程镜像源获取部署集群所需安装包;当机器无法连接网络时,成功安装 obd 后,您还需手动配置 obd 的本地镜像库。
OceanBase 从 V4.0.0 开始提供统一的安装包 OceanBase All in One。目前包括 OceanBase 数据库软件和 OCP、obd、OBProxy(又称为 ODP)、OBClient、OCP Express(自 V4.1.0 起支持)、Prometheus、Grafana,以及诊断和测试工具。
具备以下优点:
● 部署便捷性:一键安装脚本 ./install.sh,自动完成 OBD、OBProxy、OBAgent、OCP Express 等组件的本地镜像加载,极大简化部署流程 。
● 离线支持:提供完整离线包,适合无公网环境,避免逐一下载依赖,提升部署可靠性 。
● 图形化支持:支持 obd web 启动图形化界面,向导式配置集群参数、节点、端口、目录等,降低新手门槛 。
● 组件完整性:默认集成 Grafana、OBAgent、OCP Express、TPCH/TPCC 工具包,适合性能测试与可视化监控,可自由勾选要安装的组件 。
● 版本选择:支持版本(4.2.x/4.3.x)手动选择。
说明:
● OceanBase All in One 不同系列安装包中包含的产品不同,V4.3.x 系列中自 V4.3.3 起包含 OCP、V4.2.x 系列中自 V4.2.5 起包含 OCP、V4.2.1 系列中自 V4.2.1_CE_BP9_HF1 起包含 OCP。
● 建议通过下载 OceanBase All in One 进行安装,OceanBase All in One 目前提供部署所需要的全部组件(除 obbinlog 组件),且组件已经经过相互适配测试,为官方推荐版本。
下载最新的 OceanBase All in One
官方下载地址:https://www.oceanbase.com/softwarecenter
在"一键安装"模块中单机右上角向下的箭头,选择最新版本V4.3.5,根据部署环境选择对应的安装介质,本文环境是Centos7.6 2C10GB。
注意:选择对应的版本,OBD V4.3.5.版本支持el7和el8
由于服务器归属内网无法连接网络,只能采用离线安装。OceanBase All in One本身是支持在线和离线安装的。
将下载文件 oceanbase-all-in-one-4.3.5_bp3_hf1_20250902.el7.x86_64.tar.gz 上传至/opt目录下,该文件稍微有些大,1.7G
离线安装OceanBase All in One
在安装包所在目录下执行如下命令解压安装包并安装。整个安装过程非常快,前后不到2分钟。
tar -xzf oceanbase-all-in-one-*.tar.gz
cd oceanbase-all-in-one/bin/
./install.sh
source ~/.oceanbase-all-in-one/bin/env.sh
输出如下:
root@localhost bin# ./install.sh
install obd as root
No previous obd installed, try install..., wait a moment
name: grafana
version: 7.5.17
release:1
arch: x86_64
md5: 1bf1f338d3a3445d8599dc6902e7aeed4de4e0d6
size: 177766248
add /opt/oceanbase-all-in-one/rpms/grafana-7.5.17-1.el7.x86_64.rpm to local mirror
name: obagent
version: 4.2.2
release:100000042024011120.el7
arch: x86_64
md5: 19739a07a12eab736aff86ecf357b1ae660b554e
size: 72919140
add /opt/oceanbase-all-in-one/rpms/obagent-4.2.2-100000042024011120.el7.x86_64.rpm to local mirror
name: ob-configserver
version: 1.0.0
release:2.el7
arch: x86_64
md5: feca6b9c76e26ac49464f34bfa0780b5a8d3f4a0
size: 24259515
add /opt/oceanbase-all-in-one/rpms/ob-configserver-1.0.0-2.el7.x86_64.rpm to local mirror
name: ob-deploy
version: 3.5.0
release:5.el7
arch: x86_64
md5: 9f0daac3c324e745d860048bbca55f0bc77bb055
size: 185869137
add /opt/oceanbase-all-in-one/rpms/ob-deploy-3.5.0-5.el7.x86_64.rpm to local mirror
name: obproxy-ce
version: 4.3.5.0
release:3.el7
arch: x86_64
md5: f17b277b681adb1c86bfc3cfda369ad88896da9d
size: 123559862
add /opt/oceanbase-all-in-one/rpms/obproxy-ce-4.3.5.0-3.el7.x86_64.rpm to local mirror
name: ob-sysbench
version: 1.0.20
release:21.el7
arch: x86_64
md5: 34eb6ecba0ebc4c31c4cfa01162045cbbbec55f7
size: 1566511
add /opt/oceanbase-all-in-one/rpms/ob-sysbench-1.0.20-21.el7.x86_64.rpm to local mirror
name: obtpcc
version: 5.0.0
release:1.el7
arch: x86_64
md5: 8624590be4bfe16f28bdd9fc5e4849cda19577d6
size: 1890344
add /opt/oceanbase-all-in-one/rpms/obtpcc-5.0.0-1.el7.x86_64.rpm to local mirror
name: obtpch
version: 3.0.0
release:1.el7
arch: x86_64
md5: 3e3e88f87527677998fedf25087f5c87779dee62
size: 1856985
add /opt/oceanbase-all-in-one/rpms/obtpch-3.0.0-1.el7.x86_64.rpm to local mirror
name: oceanbase-ce
version: 4.2.1.8
release:108000022024072217.el7
arch: x86_64
md5: 499b676f2ede5a16e0c07b2b15991d1160d972e8
size: 457041540
add /opt/oceanbase-all-in-one/rpms/oceanbase-ce-4.2.1.8-108000022024072217.el7.x86_64.rpm to local mirror
name: oceanbase-ce
version: 4.3.5.3
release:103010012025090210.el7
arch: x86_64
md5: 01caa84d50b07cc5d09d3a34be2d543dd72e708f
size: 944441410
add /opt/oceanbase-all-in-one/rpms/oceanbase-ce-4.3.5.3-103010012025090210.el7.x86_64.rpm to local mirror
name: oceanbase-ce-libs
version: 4.2.1.8
release:108000022024072217.el7
arch: x86_64
md5: d02f4bfd321370a02550424293beb1be31204038
size: 468528
add /opt/oceanbase-all-in-one/rpms/oceanbase-ce-libs-4.2.1.8-108000022024072217.el7.x86_64.rpm to local mirror
name: oceanbase-ce-libs
version: 4.3.5.3
release:103010012025090210.el7
arch: x86_64
md5: 11147b54e0600924ae61f107cf16134ba3f760d6
size: 7848
add /opt/oceanbase-all-in-one/rpms/oceanbase-ce-libs-4.3.5.3-103010012025090210.el7.x86_64.rpm to local mirror
name: oceanbase-ce-utils
version: 4.2.1.8
release:108000022024072217.el7
arch: x86_64
md5: 6f87392f95b399a21382323f256cfda5969375c4
size: 403350984
add /opt/oceanbase-all-in-one/rpms/oceanbase-ce-utils-4.2.1.8-108000022024072217.el7.x86_64.rpm to local mirror
name: oceanbase-ce-utils
version: 4.3.5.3
release:103010012025090210.el7
arch: x86_64
md5: 0ec8014fccb365b79ff204446d4ce5702bcbee56
size: 1688909744
add /opt/oceanbase-all-in-one/rpms/oceanbase-ce-utils-4.3.5.3-103010012025090210.el7.x86_64.rpm to local mirror
name: oceanbase-diagnostic-tool
version: 3.6.0
release:22025080417.el7
arch: x86_64
md5: ce431826e5571a6e00d81b9849e32eb53991169f
size: 71847711
add /opt/oceanbase-all-in-one/rpms/oceanbase-diagnostic-tool-3.6.0-22025080417.el7.x86_64.rpm to local mirror
name: ocp-agent-ce
version: 4.3.6
release:20250815135607.el7
arch: aarch64
md5: 0cd43c9c59ff3f0b5133c21fc394611d95fa9974
size: 123008375
add /opt/oceanbase-all-in-one/rpms/ocp-agent-ce-4.3.6-20250815135607.el7.aarch64.rpm to local mirror
name: ocp-agent-ce
version: 4.3.6
release:20250815135607.el7
arch: x86_64
md5: d7a743e37308bdb88678edcc5370ab770c2c72b2
size: 179048741
add /opt/oceanbase-all-in-one/rpms/ocp-agent-ce-4.3.6-20250815135607.el7.x86_64.rpm to local mirror
name: ocp-express
version: 4.2.2
release:100000022024011120.el7
arch: x86_64
md5: 09ffcf156d1df9318a78af52656f499d2315e3f7
size: 78426196
add /opt/oceanbase-all-in-one/rpms/ocp-express-4.2.2-100000022024011120.el7.x86_64.rpm to local mirror
name: ocp-server-ce
version: 4.3.6
release:20250815135607.el7
arch: noarch
md5: a8ec6271c5b8fa11c068dd396dcba763510e2adc
size: 446852421
add /opt/oceanbase-all-in-one/rpms/ocp-server-ce-4.3.6-20250815135607.el7.noarch.rpm to local mirror
name: openjdk-jre
version: 1.8.0_322
release:b09.el7
arch: x86_64
md5: 051aa69c5abb8697d15c2f0dcb1392b3f815f7ed
size: 69766947
add /opt/oceanbase-all-in-one/rpms/openjdk-jre-1.8.0_322-b09.el7.x86_64.rpm to local mirror
name: prometheus
version: 2.37.1
release:10000102022110211.el7
arch: x86_64
md5: 58913c7606f05feb01bc1c6410346e5fc31cf263
size: 211224073
add /opt/oceanbase-all-in-one/rpms/prometheus-2.37.1-10000102022110211.el7.x86_64.rpm to local mirror
Trace ID: d3b3c4fe-8d58-11f0-8681-000c29e13c26
If you want to view detailed obd logs, please run: obd display-trace d3b3c4fe-8d58-11f0-8681-000c29e13c26
Disable remote ok
Trace ID: d612493c-8d58-11f0-b27d-000c29e13c26
If you want to view detailed obd logs, please run: obd display-trace d612493c-8d58-11f0-b27d-000c29e13c26
add auto set env logic to profile: /root/.bash_profile
Install Finished
Setup Environment: source ~/.oceanbase-all-in-one/bin/env.sh
Quick Start: obd demo
Use Web Service to install: obd web
Use Web Service to upgrade: obd web upgrade
More Details: obd -h
root@localhost bin# source ~/.oceanbase-all-in-one/bin/env.sh
说明:
通过 OceanBase All in One 安装 obd 时,install.sh 脚本默认会尝试以管理员权限安装,若当前用户无 sudo 权限,可在输入密码处输入当前用户密码或单击三次键盘 Enter 键,之后输入 n 选择使用当前用户进行安装。根据使用用户和权限的不同,有如下两种情况。
● 若您使用 root 用户或者使用普通用户以管理员权限(sudo)进行安装,安装后 obd 可执行文件的目录为 /usr/bin/obd。
● 若您使用普通用户进行安装,安装后 obd 可执行文件目录为 ~/.oceanbase-all-in-one/obd/usr/bin/obd。
扩展:卸载OceanBase All in One
根据安装方式不同,卸载OceanBase All in One也存在一些差异:
● 在线安装时,默认安装目录为 /tmp/tmp.xxxx/oceanbase-all-in-one;
● 离线安装时,默认安装目录为 ~/oceanbase-all-in-one。
离线卸载安装包
进入 OceanBase All in One 的安装目录执行 uninstall.sh 脚本。
--离线卸载安装包
/opt/oceanbase-all-in-one/bin
./uninstall.sh
--删除obd遗留文件
cd /root
rm -rf .obd
rm -rf .oceanbase-all-in-one
输出如下:
root@localhost bin# ./uninstall.sh
The current user is a root user and can uninstall obclient and obd globally. This will affect all other users. Do you want to proceed? y/n y
successfully removed, obd meta data is still in /root/.obd, please delete it manually if needed.
删除环境变量
注意:不同用户安装,环境变量值也不同:
root用户安装:source /etc/profile.d/obd.sh
admin用户安装:/home/admin/.oceanbase-all-in-one/bin/env.sh
vim ~/.bash_profile
删除或注释掉该文件中的 source /etc/profile.d/obd.sh
--如果是admin用户安装
删除或注释掉该文件中的 source /home/admin/.oceanbase-all-in-one/bin/env.sh
使修改生效
删除环境变量后,需重新登录终端,或者执行 source 命令使修改生效。
root@localhost \~# source ~/.bash_profile
验证obd可用
root@localhost \~# obd --version
OceanBase Deploy: 3.5.0
REVISION: 44567bd3badf6bd36a6b73f5ddcd66682da47574
BUILD_BRANCH: HEAD
BUILD_TIME: Aug 19 2025 17:18:14OURCE
Copyright © 2025 OceanBase
License Apache 2.0: Apache version 2 or later https://www.apache.org/licenses/LICENSE-2.0.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
使用 obd 图形化界面部署单点 OceanBase 数据库
obd 支持部署社区版和企业版 OceanBase 数据库,该文档使用 obd 图形化界面部署单点 OceanBase 数据库。
部署前环境检查
服务器配置检查
查看CPU是否支持 AVX 指令集
服务器为 x86 架构,服务器需支持 AVX 指令集,可执行 lscpu | grep Flags | grep avx 命令查看是否支持 AVX 指令集。仅在所用服务器为 x86 架构时有此限制,若您使用其他架构服务器,可忽略本小节内容。
返回结果如下所示,若输出中存在 avx 字段,说明该服务器支持 AVX 指令;若输出中不存在 avx 字段,则说明该服务器不支持 AVX 指令,您需更换为支持 AVX 的服务器。
root@localhost opt# lscpu | grep Flags | grep avx
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec arat md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
返回结果如下所示,若输出中存在 avx 字段,说明该服务器支持 AVX 指令;若输出中不存在 avx 字段,则说明该服务器不支持 AVX 指令,您需更换为支持 AVX 的服务器。
查看内存
查看服务器的可用内存是否满足官网《OceanBase 数据库》文档 软硬件要求 中的可用内存要求。
root@localhost opt# free -g
返回结果如下所示,available 列所对应的 Mem 值为 4,不满足可用内存要求。
root@localhost \~# free -g
total used free shared buff/cache available
Mem: 9 0 5 0 3 4
Swap: 1 0 1
若查看结果显示的内存不满足部署 OceanBase 数据库的内存要求,可以考虑执行如下命令清空 Linux 缓存:PageCache、dentries 和 inodes。
sudo sysctl -w vm.drop_caches=3
#或
sudo echo 3 > /proc/sys/vm/drop_caches
available 列所对应的 Mem 值为 6,满足可用内存要求。
root@localhost \~# free -g
total used free shared buff/cache available
Mem: 9 0 9 0 0 6
Swap: 1 0 1
服务器环境检查
查看操作系统
运行以下命令,查看操作系统信息。操作系统需要满足官网《OceanBase 数据库》文档 软硬件要求 中要求。
root@localhost opt# cat /etc/os-release
返回结果如下所示,可以看出所用操作系统为 CentOS Linux(NAME 字段),版本为 7(VERSION 字段)。
root@localhost opt# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
查看内核
OceanBase 数据库目前有提供 X86 版(el7 和 el8)和 ARM 版(el7 和 el8)的安装包。部署之前,请查看服务器的内核以便获取正确的安装包。
运行以下命令,查看内核信息:
root@localhost opt# uname -a
返回结果如下所示,机器的内核为 3.10.0-1160,其操作系统版本为 el7,CPU 架构为 x86_64,因此,需要使用后缀为 el7.x86_64 的安装包,例如 oceanbase-ce-4.3.5.3-103000092025080818.el7.x86_64.rpm。
root@localhost opt# uname -a
Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
安装依赖包
配置本地yum仓库
cd /etc/yum.repos.d/
mkdir -p bak
mv *.repo bak/
mount /dev/sr0 /mnt
cat /etc/yum.repos.d/my.repo
vcdrom
name = vcdrom
baseurl = file:///mnt/cdrom
gpgcheck = 0
enabled = 1
安装依赖包
yum install net-tools
目录规划
部署 OceanBase 数据库社区版需要规划以下三个目录,同时要求文件系统类型为 XFS 或 EXT4。
● 安装目录:用于存放 OceanBase 数据库运行软件以及运行过程中系统日志的目录,为保证性能,空间要求 25G 以上。
● 日志保存目录:用于存放 OceanBase 数据库日志,空间要求最小为内存大小的两倍,推荐配置为内存大小的三倍以上。注意是可用空间不然会报错
● 数据保存目录:用于存储数据,空间要求最小为内存大小的两倍以上,取决于所需存储的数据大小。注意是可用空间不然会报错
--安装目录为 /data/base,日志保存目录为 /data/log1 ,数据保存目录为 /data/1
mkdir -p /data/{base,log1,1}
创建用户
不推荐在 root 用户下部署 OceanBase 数据库,建议创建其他用户用于部署,推荐使用 admin 用户。用户需为数据库相关目录的所有者。
● 配置 limits.conf
● 配置 sysctl.conf
● 关闭防火墙和 SELinux
obd 支持通过主机命令组对主机和对应用户执行初始化操作,可选择通过 obd 命令进行上述配置配置,也可选择手动配置。推荐通过 obd 命令配置。
obd host user init -u admin --host=192.168.40.110 -p admin
--参数说明
--host=192.168.40.110:待创建用户的主机 IP(--host)
-u:待创建并初始化的用户
-p:用户密码
--赋予安装目录权限
chown -R admin:admin /data/base
chmod -R 775 /data/base
启动图形化界面进行部署
进入 OceanBase 数据库部署界面
启动图形化界面
命令行执行 obd web 命令启动图形化界面,默认端口8680,后台启动运行。
obd web
--扩展
自定义端口启动:obd web -p <端口号>
输出如下:
root@localhost bin# obd web
start OBD WEB in 0.0.0.0:8680
please open http://127.0.0.1:8680
进入 OceanBase 数据库部署界面
浏览器中访问http://192.168.40.110:8680,单击 开启体验之旅。
在显示的 欢迎使用 OceanBase 部署向导 界面选择 OceanBase 及配套工具 模块,单击 安装 后进入 OceanBase 数据库部署界面
部署配置
在 部署配置 界面配置集群名称和部署组件,部署配置 界面默认展示如下。
配置完成之后单击 下一步 可进入到 节点配置 页面。
节点配置
在 节点配置 界面配置数据库,部署用户以及软件安装路径,节点配置 界面内容如下。
配置完成之后单击 下一步 可进入到 集群配置 页面。
集群配置
在 集群配置 界面可对集群进行配置,包括系统租户的管理员用户(root@sys)密码、数据和日志目录、数据库及各组件的端口和参数配置等,具体如下图。
集群和组件配置完成后,单击 下一步 即可进入到 预检查 页面。
集群配置
集群模式配置使用了最大占用,在实际部署时,用户可以根据自身要求选择最大占用或者最小占用。集群配置包括系统租户的管理员用户(root@sys)密码、数据和日志目录、数据库及各组件的端口。
单击"更多配置",对以下参数的参数值可选择自定义或自动分配,本文采用自动分配。
组件配置
密码可自定义也可采用随机生成,采用自动随机生成注意复制密码并保存;端口可采用默认也可自定义
单击"更多配置",对以下参数的参数值可选择自定义或自动分配,本文采用自动分配。
预检查
在 预检查 页面查看所有配置信息,若发现问题可单击 上一步 进行修改;确认无误后,单击 预检查 进行检查。
若预检查报错,可根据页面建议选择 自动修复(针对可自动修复的检查项)或者单击 了解更多方案 跳转至错误码文档,参考文档自行修改。所有报错修改后,可单击 重新检查 再次进行预检查。
预检查通过后,单击 部署 即可开始 OceanBase 数据库的部署。
部署
在 OceanBase 集群部署成功后,单击页面上的 复制信息,妥善保存访问地址及账户密码。
信息保存完成后,单击部署成功页面右下角的 创建业务租户 按钮,进入创建业务租户流程。
创建业务租户
在 创建业务租户 界面配置相应的参数,之后单击 下一步:创建业务租户,系统将创建对应租户。
租户使用了最小规格,在实际部署时,您可以根据自身要求选择最大规格、最小规格或者自定义。
等待租户创建完成后,在页面会展示业务租户信息,包含租户名、root 用户密码、连接字符串等信息。点击 租户 root 密码 和 连接字符串 后面的 复制按钮,妥善保存对应的信息。
补充:自定义IP配置说明
在这里指定允许登陆的客户端列表,支持的格式有:
IP地址,示例:127.0.0.10,127.0.0.11
子网/掩码,示例:127.0.0.0/24
模糊匹配,示例:127.0.0.% 或 127.0.0._
多种格式混合,示例:127.0.0.10,127.0.0.11,127.0.0.%,127.0.0._,127.0.0.0/24
特殊说明:% 表示所有客户端都可以连接
租户名称:dxj
租户模式:mysql
租户 root 密码:61608Hhd820.
连接字符串:obclient -h192.168.40.110 -P'2881' -uroot@dxj -p'61608Hhd820.' -Doceanbase -A
配置模式:最小可用
租户规格:1vCPUs 2Gi 6 GiB
业务负载类型:htap
字符集:utf8mb4
字符序:utf8mb4_general_ci
表名大小写敏感:1
时区:(GMT+08:00)中国标准时间
IP 地址白名单:127.0.0.1,192.168.40.%,192.168.31.%
信息保存完成后,单击左下角 退出 按钮,即可退出创建租户流程。复制连接信息后单击部署结果页面的 退出 按钮,退出部署程序。
--系统租户
obclient -h192.168.40.110 -P2881 -uroot@sys -p'61608Hhd820.' -Doceanbase -A
--普通租户
obclient -h192.168.40.110 -P'2881' -uroot@dxj -p'61608Hhd820.' -Doceanbase -A
验证部署结果
在黑屏界面,使用上述部署结果中输出的对应连接串连接 OceanBase 数据库对应的租户。
登录 sys 租户
使用上述部署结果中,输出的连接串连接 OceanBase 数据库的 sys 租户
obclient -h192.168.40.110 -P2881 -uroot@sys -p'61608Hhd820.' -Doceanbase -A
输出如下:
admin@localhost \~$ obclient -h192.168.40.110 -P2881 -uroot@sys -p'61608Hhd820.' -Doceanbase -A
Welcome to the OceanBase. Commands end with ; or \g.
Your OceanBase connection id is 3221525127
Server version: OceanBase_CE 4.3.5.3 (r103010012025090210-8b80b225c2dcba7dd0c83f3d5a24e3c1ffc03f24) (Built Sep 2 2025 10:25:24)
Copyright © 2000, 2018, OceanBase and/or its affiliates. All rights reserved.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
obclient(root@sys)oceanbase>
登录创建的普通租户
obclient -h192.168.40.110 -P'2881' -uroot@dxj -p'61608Hhd820.' -Doceanbase -A
输出如下:
admin@localhost \~$ obclient -h192.168.40.110 -P'2881' -uroot@dxj -p'61608Hhd820.' -Doceanbase -A
Welcome to the OceanBase. Commands end with ; or \g.
Your OceanBase connection id is 3221579037
Server version: OceanBase_CE 4.3.5.3 (r103010012025090210-8b80b225c2dcba7dd0c83f3d5a24e3c1ffc03f24) (Built Sep 2 2025 10:25:24)
Copyright © 2000, 2018, OceanBase and/or its affiliates. All rights reserved.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
obclient(root@dxj)oceanbase>
登录Prometheus 监控系统
是一套开源的监控&报警&时间序列数据库的组合,基本原理是通过HTTP协议周期性抓取被监控组件的状态。
浏览器访问:http://192.168.40.110:9090/,输入账号密码
可通过查询 obd cluster display dxjobsingle 命令获取url、账号、密码忘记、查看状态
登录Grafana看板
是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具。
浏览器访问:http://192.168.40.110:3000/d/oceanbase,输入账号密码
可通过查询 obd cluster display dxjobsingle 命令获取url、账号、密码忘记、查看状态
登录OB-Dashboard
OB-Dashboard 是 OceanBase 推出的 轻量级 Web 图形化管控工具,由 obshell 进程内嵌提供,随数据库一起发布,无需额外安装,通过浏览器即可访问,专为 中小规模 OceanBase 集群 的日常运维而设计。
浏览器访问:http://192.168.40.110:2886,输入账号密码
可通过查询 obd cluster display dxjobsingle 命令获取url、账号、密码忘记、查看状态
集群常用命令
obd 有多级命令,可以在每个层级中使用 -h/--help 选项查看子命令的帮助信息。同样当各层级的子命令执行报错时,可使用 -v/--verbose 查看命令的详细执行过程。
obd 集群命令操作的最小单位为一个部署配置。部署配置是一份 yaml 文件,里面包含整个部署的全部配置信息,包括服务器登录信息、组件信息、组件配置信息和组件服务器列表等。
在使用 obd 启动一个集群之前,需要先注册这个集群的部署配置到 obd 中。可以使用 obd cluster edit-config 创建一个空的部署配置,或使用 obd cluster deploy -c config 导入一个部署配置。
查看当前obd 内指定集群的状态
参数 deploy name 为部署名,可以理解为配置文件的别名。自 V3.2.0 起,若 obd 设置了加密密钥,执行 display 命令输出的集群信息中,密码相关内容为加密状态。若需输出明文密码,可在命令中添加 --epk/--encryption-passkey 指定密钥用于验证。
--语法
obd cluster display
--示例
obd cluster display dxjobsingle
输出如下:
root@localhost \~# obd cluster display dxjobsingle
Get local repositories and plugins ok
Open ssh connection ok
Connect to ob-configserver ok
±-------------------------------------------------------------------+
| ob-configserver |
±---------------±-----±---------------±---------±-------±------+
| server | port | vip_address | vip_port | status | pid |
±---------------±-----±---------------±---------±-------±------+
| 192.168.40.110 | 8080 | 192.168.40.110 | 8080 | active | 73841 |
±---------------±-----±---------------±---------±-------±------+
curl -s 'http://192.168.40.110:8080/services?Action=GetObProxyConfig'
Connect to observer 192.168.40.110:2881 ok
Wait for observer init ok
±-------------------------------------------------+
| oceanbase-ce |
±---------------±--------±-----±------±-------+
| ip | version | port | zone | status |
±---------------±--------±-----±------±-------+
| 192.168.40.110 | 4.3.5.3 | 2881 | zone1 | ACTIVE |
±---------------±--------±-----±------±-------+
obclient -h192.168.40.110 -P2881 -uroot@sys -p'61608Hhd820.' -Doceanbase -A
cluster unique id: 62580c30-5efe-52ce-bc39-8f5fe845fe62-199315e9bc1-03050304
Connect to obproxy ok
±-------------------------------------------------------------------+
| obproxy-ce |
±---------------±-----±----------------±----------------±-------+
| ip | port | prometheus_port | rpc_listen_port | status |
±---------------±-----±----------------±----------------±-------+
| 192.168.40.110 | 2883 | 2884 | 2885 | active |
±---------------±-----±----------------±----------------±-------+
obclient -h192.168.40.110 -P2883 -uroot@proxysys -p'IC3X+QhIPd4s.1H(KY+jV:!Y=e?g]' -Doceanbase -A
Connect to Obagent ok
±------------------------------------------------------------------+
| obagent |
±---------------±-------------------±-------------------±-------+
| ip | mgragent_http_port | monagent_http_port | status |
±---------------±-------------------±-------------------±-------+
| 192.168.40.110 | 8089 | 8088 | active |
±---------------±-------------------±-------------------±-------+
Connect to Prometheus ok
±-----------------------------------------------------------------+
| prometheus |
±---------------------------±------±-------------------±-------+
| url | user | password | status |
±---------------------------±------±-------------------±-------+
| http://192.168.40.110:9090 | admin | 'bF!0!Kb&g#HFpk1[' | active |
±---------------------------±------±-------------------±-------+
Connect to grafana ok
±------------------------------------------------------------------------------------+
| grafana |
±---------------------------------------±------±--------------------------±-------+
| url | user | password | status |
±---------------------------------------±------±--------------------------±-------+
| http://192.168.40.110:3000/d/oceanbase | admin | 'Fov2(CO~Y/OznP0L2U86amr' | active |
±---------------------------------------±------±--------------------------±-------+
obshell program health check ok
display ob-dashboard ok
±------------------------------------------------------------+
| ob-dashboard |
±---------------------------±-----±---------------±-------+
| url | user | password | status |
±---------------------------±-----±---------------±-------+
| http://192.168.40.110:2886 | root | '61608Hhd820.' | active |
±---------------------------±-----±---------------±-------+
Trace ID: ad23fd70-8df0-11f0-b214-000c29e13c26
If you want to view detailed obd logs, please run: obd display-trace ad23fd70-8df0-11f0-b214-000c29e13c26
查看当前obd 内注册的全部集群状态
显示当前 obd 内注册的全部集群(deploy name)的状态。
obd 中注册的集群状态有如下几种。
● configured:已配置,表示 obd 中已包含该集群的配置文件,但该集群还未部署,此时可执行 obd cluster deploy 命令部署该集群。
● deployed:已部署,表示该集群已部署,但是还未启动,此时可执行 obd cluster start 命令启动该集群。
● running:运行中,表示集群正在运行中。
● stopped:已停止,表示集群中有组件已被停止,此时可执行 obd cluster start 命令启动该集群。
● upgrading:升级中,表示集群中有组件处于升级中。
● destroyed:已销毁,表示该集群已被销毁。
obd cluster list
输出如下:
root@localhost \~# obd cluster list
±---------------------------------------------------------------+
| Cluster List |
±------------±-------------------------------±----------------+
| Name | Configuration Path | Status (Cached) |
±------------±-------------------------------±----------------+
| dxjobsingle | /root/.obd/cluster/dxjobsingle | running |
±------------±-------------------------------±----------------+
Trace ID: cfe84400-8df1-11f0-ab4f-000c29e13c26
If you want to view detailed obd logs, please run: obd display-trace cfe84400-8df1-11f0-ab4f-000c29e13c26
集群停止
停止一个运行中的集群。
参数 deploy name 为部署名,可以理解为配置文件的别名。
选项说明见下表:
选项名 是否必选 数据类型 默认值 说明
-s/--servers 否 string 空 机器列表,后跟 yaml文件中 servers对应的 name
值,若 servers后未配置 name值,则使用 ip值,用 ,间隔。用于指定需要停止的机器。
-c/--components 否 string 空 组件列表,用 ,间隔。用于指定需要停止的组件。如果配置下的组件没有全部停止,该配置不会进入 stopped 状态。
--语法
obd cluster stop
--示例
obd cluster stop dxjobsingle -s server1
输出如下:
root@localhost \~# obd cluster stop dxjobsingle -s server1
Get local repositories ok
Get local repositories and plugins ok
Stop ob-configserver ok
Stop observer ok
Stop obshell ok
Stop obproxy-ce ok
Stop obagent ok
Stop prometheus ok
Stop grafana ok
Trace ID: e19f010c-8df1-11f0-8b60-000c29e13c26
If you want to view detailed obd logs, please run: obd display-trace e19f010c-8df1-11f0-8b60-000c29e13c26
集群启动
启动已部署的集群,成功时打印集群状态。
参数 deploy name 为部署名,可以理解为配置文件的别名。
选项说明见下表:
选项名 是否必选 数据类型 默认值 说明
-s/--servers 否 string 空 机器列表,后跟 yaml文件中 servers对应的 name值,若 servers后未配置 name
值,则使用 ip值,用 ,间隔。用于指定需启动的机器。如果组件下的机器没有全部启动,则 start 不会执行 bootstrap。
-c/--components 否 string 空 组件列表,用 ,间隔。用于指定需启动的组件。如果配置下的组件没有全部启动,该配置不会进入 running 状态。
--wop/--without-parameter 否 bool false 无参启动。开启时将不带参数启动已部署的集群。节点第一次的启动时,不响应此选项。
-S/--strict-check 否 bool false 部分组件在启动前会做相关的检查。检查不通过时,obd 将发出告警,不会强制停止流程。
使用该选项可开启检查失败报错直接退出。建议开启,可以避免一些资源不足导致的启动失败。
--语法
obd cluster start flags
--示例
obd cluster start dxjobsingle -S
--参数说明
-S:在启动前会做相关的检查
输出如下:
root@localhost \~# obd cluster start dxjobsingle -S
Get local repositories ok
Load cluster param plugin ok
Cluster status check ok
Deploy "dxjobsingle" is running
Trace ID: f896ff90-8df1-11f0-b87b-000c29e13c26
If you want to view detailed obd logs, please run: obd display-trace f896ff90-8df1-11f0-b87b-000c29e13c26
重启一个运行中集群
重启一个运行中集群。重启默认是无参重启。当使用 edit-config 修改一个运行的集群的配置信息后,可以通过 obd cluster restart --wp 命令应用修改。
参数 deploy name 为部署名,可以理解为配置文件的别名。
选项说明见下表:
选项名 是否必选 数据类型 默认值 说明
-s/--servers 否 string 空 机器列表,后跟 yaml文件中 servers对应的 name值,若 servers后未配置 name值,则使用 ip值,用 ,间隔,用于指定需要重启的机器。
-c/--components 否 string 空 组件列表,用 ,间隔。用于指定需要重启的组件。如果配置下的组件没有全部启动,该配置不会进入 running 状态。
--wp/--with-parameter 否 bool false 带参重启。用于让重启生效的配置项生效。
--语法
obd cluster restart
--示例
obd cluster restart dxjobsingle -c obproxy-ce --wp
obd cluster restart dxjobsingle
参数说明:
--wp:带参重启。用于让重启生效的配置项生效。
-c:组件列表,用 ,间隔。用于指定需要重启的组件。如果配置下的组件没有全部启动,该配置不会进入 running 状态。
输出如下:
root@localhost \~# obd cluster restart dxjobsingle
Get local repositories and plugins ok
Load cluster param plugin ok
Open ssh connection ok
Cluster status check ok
Check before start ob-configserver ok
Connect to ob-configserver ok
Connect to observer 192.168.40.110:2881 ok
Server check ok
Connect to obproxy ok
Check before start obagent ok
Connect to Obagent ok
Check before start prometheus ok
Connect to Prometheus ok
Check before start grafana ok
Stop ob-configserver ok
Start ob-configserver ok
ob-configserver program health check ok
Connect to ob-configserver ok
±-------------------------------------------------------------------+
| ob-configserver |
±---------------±-----±---------------±---------±-------±------+
| server | port | vip_address | vip_port | status | pid |
±---------------±-----±---------------±---------±-------±------+
| 192.168.40.110 | 8080 | 192.168.40.110 | 8080 | active | 95705 |
±---------------±-----±---------------±---------±-------±------+
curl -s 'http://192.168.40.110:8080/services?Action=GetObProxyConfig'
Stop observer ok
Stop obshell ok
cluster scenario: htap
Start observer ok
observer program health check ok
obshell start ok
obshell program health check ok
Connect to observer 192.168.40.110:2881 ok
Wait for observer init ok
±-------------------------------------------------+
| oceanbase-ce |
±---------------±--------±-----±------±-------+
| ip | version | port | zone | status |
±---------------±--------±-----±------±-------+
| 192.168.40.110 | 4.3.5.3 | 2881 | zone1 | ACTIVE |
±---------------±--------±-----±------±-------+
obclient -h192.168.40.110 -P2881 -uroot@sys -p'61608Hhd820.' -Doceanbase -A
cluster unique id: 62580c30-5efe-52ce-bc39-8f5fe845fe62-199315e9bc1-03050304
Stop obproxy-ce ok
start obproxy ok
obproxy program health check ok
Connect to obproxy ok
±-------------------------------------------------------------------+
| obproxy-ce |
±---------------±-----±----------------±----------------±-------+
| ip | port | prometheus_port | rpc_listen_port | status |
±---------------±-----±----------------±----------------±-------+
| 192.168.40.110 | 2883 | 2884 | 2885 | active |
±---------------±-----±----------------±----------------±-------+
obclient -h192.168.40.110 -P2883 -uroot@proxysys -p'IC3X+QhIPd4s.1H(KY+jV:!Y=e?g]' -Doceanbase -A
Stop obagent ok
Start obagent ok
obagent program health check ok
Connect to Obagent ok
±------------------------------------------------------------------+
| obagent |
±---------------±-------------------±-------------------±-------+
| ip | mgragent_http_port | monagent_http_port | status |
±---------------±-------------------±-------------------±-------+
| 192.168.40.110 | 8089 | 8088 | active |
±---------------±-------------------±-------------------±-------+
Stop prometheus ok
Start promethues ok
prometheus program health check ok
Connect to Prometheus ok
±-----------------------------------------------------------------+
| prometheus |
±---------------------------±------±-------------------±-------+
| url | user | password | status |
±---------------------------±------±-------------------±-------+
| http://192.168.40.110:9090 | admin | 'bF!0!Kb&g#HFpk1[' | active |
±---------------------------±------±-------------------±-------+
Stop grafana ok
Start grafana ok
grafana program health check ok
Connect to grafana ok
±------------------------------------------------------------------------------------+
| grafana |
±---------------------------------------±------±--------------------------±-------+
| url | user | password | status |
±---------------------------------------±------±--------------------------±-------+
| http://192.168.40.110:3000/d/oceanbase | admin | 'Fov2(CO~Y/OznP0L2U86amr' | active |
±---------------------------------------±------±--------------------------±-------+
dxjobsingle restart
Trace ID: 147f97ee-8df2-11f0-8dc5-000c29e13c26
If you want to view detailed obd logs, please run: obd display-trace 147f97ee-8df2-11f0-8dc5-000c29e13c26
注意:并非所有的配置项都可以通过 restart 来应用。有些配置项需要重部署集群才能生效。请根据 edit-config 后返回的信息进行操作。
销毁集群
重新部署一个运行中集群即销毁集群。当使用 edit-config 修改一个运行的集群的配置信息后,可以通过 redeploy 命令应用修改。
参数 deploy name 为部署名,可以理解为配置文件的别名。
选项名 是否必选 数据类型 默认值 说明
-f/--force-kill 否 bool false obd 执行销毁命令前会检查是否还有进程在运行中。这些运行中的进程可能是 start
失败留下的,也可能是因为配置与其他集群重叠,进程是其他集群的。但无论是哪个原因导致工作目录下有进程未退出,obd 都会直接停止执行 obd cluster redeploy命令。开启 -f
选项后,检查到工作目录下有运行中的进程时,会强制停止进程,强制执行 obd cluster redeploy。
--confirm 否 bool false 执行该命令过程中需要您二次确认是否重启集群,开启该选项后,将跳过二次确认过程,直接重启集群。
--igs/--ignore-standby 否 string 空 检查到集群中租户在其他集群中存在备租户时,强制执行 obd cluster redeploy,集群销毁后备租户将无法使用
--语法
obd cluster redeploy -f
--示例
obd cluster redeploy test -f
参数说明:
-f : 检查到工作目录下有运行中的进程时,会强制停止进程,强制执行 obd cluster redeploy。
注意:该命令会销毁集群,重新部署,集群中的数据会丢失,请先做好备份。
总结
OceanBase All in One 是"懒人福音",通过 OceanBase All in One 安装 OceanBase 数据库,是一种官方推荐的部署方式,尤其适合社区用户和中小企业快速搭建测试或轻量级生产环境。但在生产环境中,仍需结合资源规划与命令行调优。
附录:OceanBase 服务端进程 & 生态产品默认端口号
介绍 OceanBase 服务端进程和 OceanBase 生态各产品进程的默认端口号。
OceanBase 服务端进程默认端口号
OceanBase 产品族中,目前运行在服务端的进程包括 observer、obproxy 等。目前他们使用的默认端口号如下。
产品 默认端口号 配置项 是否支持自定义 含义
observer 2881 mysql_port 1.使用 OBD 部署和手动部署支持自定义;
2.使用 OCP 4.0.3 及以上版本部署支持自定义 SQL 服务端口
observer 2882 rpc_port 1.使用 OBD 部署和手动部署支持自定义;
2.使用 OCP 4.0.3 及以上版本部署支持自定义 RPC 服务端口
obproxy 2883 listen_port 是 SQL 服务端口
obproxy 2884 prometheus_listen_port 是 OBProxy prometheus 监听端口
obagent 8088 server_port 是 OBAgent 的监控采集端口
obagent 8089 pprof_port 是 OBAgent 的运维监听端口
生态产品默认端口号
OceanBase 生态产品,包括 OCP、ODC、OMS 等,有诸多组件。目前他们使用的默认端口号如下。
产品 默认端口号 是否支持自定义 含义
ODC 8989 是 WEB 服务监听端口
OMS 8089/8090 否 OMS 管理控制台对应端口
OMS 8088 否 OMS 集群管理 http 端口
OMS 9000/9001 否 OMS Worker agent http 端口
OMS 16000~16499
17000~17499
18000~18499
7100-7499 否 OMS 内部组件通信使用
OCP 8080 是 OCP-Server web 服务监听端口,通常其它组件通过 SLB/DNS 地址访问 OCP-Server
OCP 62888 否 OCP-Agent 的运维监听端口
OCP 62889 否 OCP-Agent 的监控采集端口
OCP 2911 否 备份 Agent 监听端口(当使用逻辑备份功能,并安装Backup-Agent 时,才监听该端口。逻辑备份最高支持到内核2.2.52版本)
OCP 2912 否 恢复 Agent 监听端口(当使用逻辑备份功能,并安装Backup-Agent 时,才监听该端口。逻辑备份最高支持到内核2.2.52 版本)
OCP-Express 8180 是 Server 的 Web 服务监听端口
OBD Web 8680 是 OBD 白屏 web 工具端口
Prometheus 9090 是 prometheus 的 Web 服务监听端口
Grafana 3000 是 grafana-server 的 Web 服务监听端口
参考链接:https://www.oceanbase.com/docs/common-obd-cn-1000000003754441#11-title-使用 obd 图形化界面部署集群