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
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 图形化界面部署集群