OBD 有多级命令,您可以在每个层级中使用 -h/--help 选项查看子命令的帮助信息。同样的,当各层级的子命令执行报错时,您亦可使用 -v/--verbose 查看命令的详细执行过程。
OBD 集群命令操作的最小单位为一个部署配置。部署配置是一份 yaml 文件,里面包含各个整个部署的全部配置信息,包括服务器登录信息、组件信息、组件配置信息和组件服务器列表等。
在使用 OBD 启动一个集群之前,您需要先注册这个集群的部署配置到 OBD 中。您可以使用 obd cluster edit-config 创建一个空的部署配置,或使用 obd cluster deploy -c config 导入一个部署配置。
obd cluster autodeploy
使用该命令可传入一个简易的配置文件,OBD 会根据目标机器资源自动生成最大规格的完整配置并部署启动集群。
obd cluster autodeploy <deploy name> -c <yaml path> [-f] [-U] [-A] [-s]
# example
obd cluster autodeploy test -c all-components.yaml
参数 deploy name 为部署集群名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| -c/--config | 是 | string | 无 | 指定所需 yaml 文件的路径。OBD 使用指定的 yaml 文件部署,并将部署配置注册到 OBD 中。当 deploy name 存在时,会判断其状态,如果旧配置尚未部署则覆盖,否则报错。 |
| -f/--force | 否 | bool | false | 开启时,强制清空工作目录(home_path)。当组件要求工作目录为空且不使用该选项时,工作目录不为空会返回错误。 |
| -C/--clean | 否 | bool | false | 开启时,会判断工作目录(home_path)是否属于当前操作用户,当该目录属于当前操作用户时会清空工作目录。 |
| -U/--ulp/ --unuselibrepo | 否 | bool | false | 使用该选项将禁止 OBD 自动处理依赖。不开启的情况下,OBD 将在检查到缺失依赖时搜索相关的 libs 镜像并安装。 使用该选项将会在对应的配置文件中添加 unuse_lib_repository: true。也可以在配置文件中使用 unuse_lib_repository: true 开启。 |
| -A/--act/--auto-create-tenant | 否 | bool | false | 开启该选项 OBD 将会在 bootstrap 阶段使用集群全部可用资源创建一个名为 test 的租户。使用该选项将会在对应的配置文件中添加 auto_create_tenant: true。也可以在配置文件中使用 auto_create_tenant: true 开启。 |
| --force-delete | 否 | bool | false | 开启时,强制删除已注册的集群。 |
| -s/--strict-check | 否 | bool | false | 部分组件在启动前会做相关的检查,当检查不通过的时候会报警告,不会强制停止流程。 使用该选项可开启检查失败报错直接退出。建议开启,可以避免一些资源不足导致的启动失败。 |
obd cluster edit-config
修改一个部署配置,当部署配置不存在时创建。
obd cluster edit-config <deploy name>
# example
obd cluster edit-config test
参数 deploy name 为部署集群名,可以理解为配置文件的别名。
obd cluster deploy
使用该命令可以根据配置部署集群。
此命令会根据部署配置文件中组件的信息查找合适的镜像,并安装到本地仓库,此过程称为本地安装。再将本地仓库中存在合适版本的组件分发给目标服务器,此过程称为远程安装。
在本地安装和远程安装时都会检查服务器是否存在组件运行所需的依赖。此命令可以直接使用 OBD 中已注册的 deploy name 部署,也可以通过传入 yaml 的配置信息。
obd cluster deploy <deploy name> [-c <yaml path>] [-f] [-U] [-A]
# example
obd cluster deploy test -c all-components-min.yaml
参数 deploy name 为部署集群名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| -c/--config | 否 | string | 无 | 指定所需 yaml 文件的路径。OBD 使用指定的 yaml 文件部署,并将部署配置注册到 OBD 中。当 deploy name 存在时覆盖配置。如果不使用该选项,则会根据 deploy name 查找已注册到 OBD 中的配置信息。 |
| -f/--force | 否 | bool | false | 开启时,强制清空工作目录。当组件要求工作目录为空且不使用该选项时,工作目录不为空会返回错误。 |
| -C/--clean | 否 | bool | false | 开启时,会判断工作目录(home_path)是否属于当前操作用户,当该目录属于当前操作用户时会清空工作目录。 |
| -U/--ulp/ --unuselibrepo | 否 | bool | false | 使用该选项将禁止 OBD 自动处理依赖。不开启的情况下,OBD 将在检查到缺失依赖时搜索相关的 libs 镜像并安装。 使用该选项将会在对应的配置文件中添加 unuse_lib_repository: true。也可以在配置文件中使用 unuse_lib_repository: true 开启。 |
| -A/--act/--auto-create-tenant | 否 | bool | false | 开启该选项 OBD 将会在 bootstrap 阶段使用集群全部可用资源创建一个名为 test 的租户。使用该选项将会在对应的配置文件中添加 auto_create_tenant: true。也可以在配置文件中使用 auto_create_tenant: true 开启。 |
obd cluster start
启动已部署的集群,成功时打印集群状态。
obd cluster start <deploy name> [flags]
# example
obd cluster start test -S
参数 deploy name 为部署集群名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| -s/--servers | 否 | string | 空 | 机器列表,后跟 yaml 文件中 servers 对应的 name 值,用 , 间隔。用于指定需启动的机器。如果组件下的机器没有全部启动,则 start 不会执行 bootstrap。 |
| -c/--components | 否 | string | 空 | 组件列表,用 , 间隔。用于指定需启动的组件。如果配置下的组件没有全部启动,该配置不会进入 running 状态。 |
| -f/--force-delete | 否 | bool | false | 开启时,强制删除已注册的集群。 |
| --wop/--without-parameter | 否 | bool | false | 无参启动。为 true 时表示启动的时候不带参数。节点第一次的启动时,不响应此选项。 |
| -S/--strict-check | 否 | bool | false | 部分组件在启动前会做相关的检查。检查不通过时,OBD 将发出告警,不会强制停止流程。 使用该选项可开启检查失败报错直接退出。建议开启,可以避免一些资源不足导致的启动失败。 |
obd cluster list
显示当前 OBD 内注册的全部集群(deploy name)的状态。
obd cluster list
obd cluster display
展示指定集群的状态。
obd cluster display <deploy name>
# example
obd cluster display test
参数 deploy name 为部署集群名,可以理解为配置文件的别名。
obd cluster reload
重载一个运行中集群。当您使用 edit-config 修改一个运行的集群的配置信息后,可以通过 reload 命令应用修改。
注意
并非全部的配置项都可以通过 reload 来应用。有些配置项需要重启集群,甚至是重新部署集群才能生效。请根据 edit-config 后返回的信息进行操作。
obd cluster reload <deploy name>
# example
obd cluster reload test
参数 deploy name 为部署集群名,可以理解为配置文件的别名。
obd cluster restart
重启一个运行中集群。重启默认是无参重启。当您使用 edit-config 修改一个运行的集群的配置信息后,可以通过 obd cluster restart <deploy name> --wp 命令应用修改。
注意
并非所有的配置项都可以通过 restart 来应用。有些配置项需要重部署集群才能生效。请根据 edit-config 后返回的信息进行操作。
obd cluster restart <deploy name>
# example
obd cluster restart test -c obproxy-ce --wp
参数 deploy name 为部署集群名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| -s/--servers | 否 | string | 空 | 机器列表,后跟 yaml 文件中 servers 对应的 name 值,用 , 间隔,用于指定需要重启的机器。 |
| -c/--components | 否 | string | 空 | 组件列表,用 , 间隔。用于指定需要重启的组件。如果配置下的组件没有全部启动,该配置不会进入 running 状态。 |
| --wp/--with-parameter | 否 | bool | false | 带参重启。用于让重启生效的配置项生效。 |
obd cluster redeploy
重启一个运行中集群。当您使用 edit-config 修改一个运行的集群的配置信息后,可以通过 redeploy 命令应用修改。
注意
该命令会销毁集群,重新部署,您集群中的数据会丢失,请先做好备份。
obd cluster redeploy <deploy name> [-f]
# example
obd cluster redeploy test -f
参数 deploy name 为部署集群名,可以理解为配置文件的别名。
OBD 执行重启命令前会检查是否还有进程在运行中。这些运行中的进程可能是 start 失败留下的,也可能是因为配置与其他集群重叠,进程是其他集群的。但无论是哪个原因导致工作目录下有进程未退出,OBD 都会直接停止执行 obd cluster redeploy 命令。
选项 -f 为 --force-kill。作用为:检查到工作目录下有运行中的进程时,强制停止进程。使用该选项会强制停止运行中的进程,强制执行 obd cluster redeploy,非必填项。数据类型为 bool。默认不开启。
obd cluster stop
停止一个运行中的集群。
obd cluster stop <deploy name>
# example
obd cluster stop test -s server1
参数 deploy name 为部署集群名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| -s/--servers | 否 | string | 空 | 机器列表,后跟 yaml 文件中 servers 对应的 name 值,用 , 间隔。用于指定需要停止的机器。 |
| -c/--components | 否 | string | 空 | 组件列表,用 , 间隔。用于指定需要停止的组件。如果配置下的组件没有全部停止,该配置不会进入 stopped 状态。 |
obd cluster destroy
销毁已部署的集群。如果集群处于运行中的状态,该命令会先尝试执行 stop,成功后再执行 destroy。
obd cluster destroy <deploy name> [-f]
# example
obd cluster destroy test -f
参数 deploy name 为部署集群名,可以理解为配置文件的别名。
OBD 执行销毁命令前会检查是否还有进程在运行中。这些运行中的进程可能是 start 失败留下的,也可能是因为配置与其他集群重叠,进程是其他集群的。但无论是哪个原因导致工作目录下有进程未退出,OBD 都会直接停止执行 obd cluster destroy 命令。
选项 -f 为 --force-kill。作用为:检查到工作目录下有运行中的进程时,强制停止进程。使用该选项会强制停止运行中的进程,强制执行 obd cluster destroy,非必填项。数据类型为 bool。默认不开启。
obd cluster upgrade
使用该命令可升级一个已经启动的组件。
obd cluster upgrade <deploy name> -c <component name> -V <version> [tags]
# example
obd cluster upgrade test -c oceanbase-ce -V 4.0.0.0 --usable=c63bb73384b17d74299b34fe3aceb0ae310fd319d2ccdb1acd39f31ba6673198
参数 deploy name 为部署集群名,可以理解为配置文件的别名。
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| -c/--component | 是 | string | 空 | 需要升级的组件名。 |
| -V/--version | 是 | string | 空 | 需要升级的组件的目标版本号。 |
| --skip-check | 否 | bool | false | 跳过可以跳过的检查。 |
| --usable | 否 | string | 空 | 升级中优先使用的镜像 hash 列表,用 , 间隔。 |
| --disable | 否 | string | 空 | 升级中禁止使用的镜像 hash 列表,用 , 间隔。 |
| -e/--executer-path | 否 | string | /usr/obd/lib/executer | 升级脚本使用的解释器所在路径。 |
obd cluster reinstall
使用该命令可重新安装一个已部署的组件的仓库,新的仓库必须与当前仓库版本号相同。该命令在部署状态为 running 时,替换仓库后会使用无参启动,重新拉起组件。
obd cluster reinstall <deploy name> -c <component name> --hash <hash> [-f/--force]
# example
[admin@test ~]$ obd mirror list
+------------------------------------------------------------------+
| Mirror Repository List |
+----------------------------+--------+---------+------------------+
| SectionName | Type | Enabled | Update Time |
+----------------------------+--------+---------+------------------+
| oceanbase.community.stable | remote | True | 2022-12-16 10:41 |
| oceanbase.development-kit | remote | True | 2022-12-16 10:41 |
| local | local | - | 2022-12-16 10:52 |
+----------------------------+--------+---------+------------------+
Use `obd mirror list <section name>` for more details
[admin@test ~]$ obd mirror list oceanbase.community.stable | grep -e " oceanbase-ce " | grep -e " 4.0.0.0 "
| oceanbase-ce | 4.0.0.0 | 100000272022110114.el7 | x86_64 | 759074414c7b7b723013855353f62a7ba0aae0f493216ef2511825850ce77b51 |
| oceanbase-ce | 4.0.0.0 | 100000282022112511.el7 | x86_64 | debb18ab3c0b3d16f145c41cd21c30686863580b721d45ddaa068e6309e03b64 |
| oceanbase-ce | 4.0.0.0 | 102000032022120718.el7 | x86_64 | c63bb73384b17d74299b34fe3aceb0ae310fd319d2ccdb1acd39f31ba6673198 |
[admin@test ~]$ obd cluster reinstall test -c oceanbase-ce --hash=c63bb73384b17d74299b34fe3aceb0ae310fd319d2ccdb1acd39f31ba6673198
参数 deploy name 为部署集群名,可以理解为配置文件的别名。
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| -c/--component | 是 | string | 空 | 需要被替换的仓库的组件名。 |
| --hash | 是 | string | 空 | 目标仓库的 hash 值。目标仓库必须与当前仓库版本号相同。 |
| -f/--force | 否 | bool | false | 开启时,启动失败也强制替换。 |
obd cluster tenant create
创建租户。该命令仅对 OceanBase 数据库有效。该命令会自动创建资源单元和资源池,用户不需要手动创建。
obd cluster tenant create <deploy name> [-n <tenant name>] [flags]
# example
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
参数 deploy name 为部署集群名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| -t/-n/--tenant-name | 否 | string | test | 租户名。对应的资源单元和资源池根据租户名自动生成,并且避免重名。 |
| --max-cpu | 否 | float | 0 | 租户可用最大 CPU 数。为 0 时使用集群剩余全部可用 CPU。 |
| --min-cpu | 否 | float | 0 | 租户可用最小 CPU 数。为 0 时等同于 --max-cpu。 |
| --max-memory | 否 | int | 0 | 租户可用最大内存。为 0 时使用集群剩余全部可用内存。实际值低于 1G 时报错。OceanBase 数据库 V4.0.0.0 及以上版本不适用,可改用 |
| --min-memory | 否 | int | 0 | 租户可用最小内存。为 0 时等同于 --max-memory。OceanBase 数据库 V4.0.0.0 及以上版本不适用,可改用 |
| --memory-size | 否 | int | 0 | 租户可用内存单元大小,仅支持 OceanBase 数据库 V4.0.0.0 及以上版本。 |
| --max-disk-size | 否 | int | 0 | 租户可用最大磁盘空间。为 0 时使用集群全部可用空间。实际值低于 512M 时报错。OceanBase 数据库 V4.0.0.0 及以上版本不适用。 |
| --log-disk-size | 否 | int | 0 | 指定租户的 Unit 日志盘大小。默认值为 3 倍的内存规格值。最小值为 2G。 |
| --max-iops | 否 | int |
| 租户 IOPS 最多数量,该参数的取值范围根据 OceanBase 版本的不同分为以下两种情况。
|
| --min-iops | 否 | int | 0 | 租户 IOPS 最少数量。取值范围等同于 --max-iops。为 0 时等同于 --max-iops。 |
| --iops-weight | 否 | int | 0 | 指定租户 IOPS 的权重。仅支持 OceanBase 数据库 V4.0.0.0 及以上版本。 |
| --max-session-num | 否 | int | 64 | 租户最大 SESSION 数,取值范围为 [64,+∞)。OceanBase 数据库 V4.0.0.0 及以上版本不适用。 |
| --unit-num | 否 | int | 0 | 指定要创建的单个 Zone 下的单元个数,取值要小于单个 Zone 中的 OBServer 个数。为 0 自动获取最大值。 |
| -z/--zone-list | 否 | string | 空 | 指定租户的 Zone 列表,多个 Zone 用英文逗号 , 间隔。为空时等于集群全部 ZONE。 |
| --mode | 否 | string | mysql | 指定租户的模式(MySQL/Oracle),OceanBase 数据库社区版仅支持 MySQL 模式的租户。 |
| --primary-zone | 否 | string | RANDOM | 租户的主 Zone。 |
| --charset | 否 | string | 空 | 租户的字符集。 |
| --collate | 否 | string | 空 | 租户校对规则。 |
| --replica-num | 否 | int | 0 | 租户副本数。为 0 时等于 Zone 的数目。 |
| --logonly-replica-num | 否 | string | 0 | 租户日志副本数。为 0 时等同于 --replica-num。 |
| --tablegroup | 否 | string | 空 | 租户默认表组信息。 |
| --locality | 否 | string | 空 | 描述副本在 Zone 间的分布情况,如:F@z1,F@z2,F@z3,R@z4 表示 z1, z2, z3 为全功能副本,z4 为只读副本。 |
| -s/--variables | 否 | string | ob_tcp_invited_nodes='%' | 设置租户系统变量值。 |
obd cluster tenant drop
使用该命令可以删除租户。该命令仅对 OceanBase 数据库有效。
该命令会自动删除对应的资源单元和资源池。
obd cluster tenant drop <deploy name> -n <tenant name>
# example
obd cluster tenant drop test -n obmysql
参数 deploy name 为部署集群名,可以理解为配置文件的别名。
选项 -t/-n 为 --tenant-name,此选项为必填项,表示要删除的租户名。
obd cluster chst
使用该命令可以转换配置风格。
obd cluster chst <deploy name> --style <STYLE> [-c/--components]
# example
obd cluster chst test -c oceanbase-ce --style cluster
参数 deploy name 为部署集群名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| --style | 是 | string | 无 | 目标配置风格。目前支持 default 和 cluster。 |
| -c/--components | 否 | string | 空 | 组件列表,用 , 间隔。用于指定需转换风格的组件。 |
obd cluster check4ocp
检查当前配置是否满足 OCP 接管的条件。
obd cluster check4ocp <deploy name> [-c/--components] [-V/--version]
# example
obd cluster check4ocp test -V 4.0.0
参数 deploy name 为部署集群名,可以理解为配置文件的别名。
选项说明见下表:
| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|---|
| -c/--components | 否 | string | 空 | 组件列表,用 , 间隔。用于指定需转换风格的组件。 |
| -V/--version | 是 | string | 3.1.0 | OCP 版本号。 |




