1.cluster-command-groups.md 19.9 KB
Newer Older
F
v1.4.0  
frf12 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
# 集群命令组

OBD 有多级命令,您可以在每个层级中使用 `-h/--help` 选项查看子命令的帮助信息。

OBD 集群命令操作的最小单位为一个部署配置。部署配置是一份 `yaml` 文件,里面包含各个整个部署的全部配置信息,包括服务器登录信息、组件信息、组件配置信息和组件服务器列表等。

在使用 OBD 启动一个集群之前,您需要先注册这个集群的部署配置到 OBD 中。您可以使用 `obd cluster edit-config` 创建一个空的部署配置,或使用 `obd cluster deploy -c config` 导入一个部署配置。

## obd cluster autodeploy

使用该命令可传入一个简易的配置文件,OBD 会根据目标机器资源自动生成最大规格的完整配置并部署启动集群。

```shell
obd cluster autodeploy <deploy name> -c <yaml path> [-f] [-U] [-A] [-s]
```

F
v1.6.0  
frf12 已提交
17
参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。
F
v1.4.0  
frf12 已提交
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

选项说明见下表:

|              选项名              | 是否必选 |  数据类型  |  默认值  |                                                                           说明                                                                            |
|-------------------------------|------|--------|-------|---------------------------------------------------------------------------------------------------------------------------------------------------------|
| -c/--config                   | 是    | string | 无     | 使用指定的 yaml 文件部署,并将部署配置注册到 OBD 中。当 `deploy name` 存在时,会判断其状态,如果旧配置尚未部署则覆盖,否则报错。                                                                            |
| -f/--force                    | 否    | bool   | false | 开启时,强制清空工作目录。当组件要求工作目录为空且不使用该选项时,工作目录不为空会返回错误。                                                                                                          |
| -U/--ulp/ --unuselibrepo      | 否    | bool   | false | 使用该选项将禁止 OBD 自动处理依赖。不开启的情况下,OBD 将在检查到缺失依赖时搜索相关的 libs 镜像并安装。</br>使用该选项将会在对应的配置文件中添加 `unuse_lib_repository: true`。也可以在配置文件中使用 `unuse_lib_repository: true` 开启。 |
| -A/--act/--auto-create-tenant | 否    | bool   | false | 开启该选项 OBD 将会在 bootstrap 阶段使用集群全部可用资源创建一个名为 `test` 的租户。</br>使用该选项将会在对应的配置文件中添加 `auto_create_tenant: true`。也可以在配置文件中使用 `auto_create_tenant: true` 开启。          |
| -s/--strict-check             | 否    | bool   | false | 部分组件在启动前会做相关的检查,当检查不通过的时候会报警告,不会强制停止流程。</br>使用该选项可开启检查失败报错直接退出。建议开启,可以避免一些资源不足导致的启动失败。                                                                       |

## obd cluster edit-config

修改一个部署配置,当部署配置不存在时创建。

```shell
obd cluster edit-config <deploy name>
```

F
v1.6.0  
frf12 已提交
37
参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。
F
v1.4.0  
frf12 已提交
38 39 40 41 42

## obd cluster deploy

使用该命令可以根据配置部署集群。

F
v1.6.0  
frf12 已提交
43
此命令会根据部署配置文件中组件的信息查找合适的镜像,并安装到本地仓库,此过程称为本地安装。再将本地仓库中存在合适版本的组件分发给目标服务器,此过程称为远程安装。
F
v1.4.0  
frf12 已提交
44

F
v1.6.0  
frf12 已提交
45
在本地安装和远程安装时都会检查服务器是否存在组件运行所需的依赖。此命令可以直接使用 OBD 中已注册的 `deploy name` 部署,也可以通过传入 `yaml` 的配置信息。
F
v1.4.0  
frf12 已提交
46 47 48 49 50

```shell
obd cluster deploy <deploy name> [-c <yaml path>] [-f] [-U] [-A]
```

F
v1.6.0  
frf12 已提交
51
参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。
F
v1.4.0  
frf12 已提交
52 53 54 55 56 57

选项说明见下表:

|              选项名              | 是否必选 |  数据类型  |  默认值  |                                                                           说明                                                                            |
|-------------------------------|------|--------|-------|---------------------------------------------------------------------------------------------------------------------------------------------------------|
| -c/--config                   | 否    | string | 无     | 使用指定的 yaml 文件部署,并将部署配置注册到 OBD 中。当 `deploy name` 存在时覆盖配置。</br>如果不使用该选项,则会根据 `deploy name` 查找已注册到 OBD 中的配置信息。                                                  |
F
v1.6.0  
frf12 已提交
58
| -f/--force                    | 否    | bool   | false | 开启时,强制清空工作目录。当组件要求工作目录为空且不使用该选项时,工作目录不为空会返回错误。                                                                                                          |
F
v1.4.0  
frf12 已提交
59 60 61 62 63 64 65 66 67 68 69
| -U/--ulp/ --unuselibrepo      | 否    | bool   | false | 使用该选项将禁止 OBD 自动处理依赖。不开启的情况下,OBD 将在检查到缺失依赖时搜索相关的 libs 镜像并安装。</br>使用该选项将会在对应的配置文件中添加 `unuse_lib_repository: true`。也可以在配置文件中使用 `unuse_lib_repository: true` 开启。 |
| -A/--act/--auto-create-tenant | 否    | bool   | false | 开启该选项 OBD 将会在 bootstrap 阶段使用集群全部可用资源创建一个名为 `test` 的租户。</br>使用该选项将会在对应的配置文件中添加 `auto_create_tenant: true`。也可以在配置文件中使用 `auto_create_tenant: true` 开启。          |

## obd cluster start

启动已部署的集群,成功时打印集群状态。

```shell
obd cluster start <deploy name> [flags]
```

F
v1.6.0  
frf12 已提交
70
参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。
F
v1.4.0  
frf12 已提交
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

选项说明见下表:

|            选项名            | 是否必选 |  数据类型  |  默认值  |                                                 说明                                                  |
|---------------------------|------|--------|-------|-----------------------------------------------------------------------------------------------------|
| -s/--servers              | 否    | string | 空     | 机器列表,后跟 `yaml` 文件中 `servers` 对应的 `name` 值,用 `,` 间隔。用于指定启动的机器。如果组件下的机器没有全部启动,则 start 不会执行 bootstrap。 |
| -c/--components           | 否    | string | 空     | 组件列表,用 `,` 间隔。用于指定启动的组件。如果配置下的组件没有全部启动,该配置不会进入 running 状态。                                          |
| --wop/--without-parameter | 否    | bool   | false | 无参启动。启动的时候不带参数。节点第一次的启动时,不响应此选项。                                                                    |
| -S/--strict-check         | 否    | bool   | false | 部分组件在启动前会做相关的检查。检查不通过时,OBD 将发出告警,不会强制停止流程。</br>使用该选项可开启检查失败报错直接退出。建议开启,可以避免一些资源不足导致的启动失败。                |

## obd cluster list

显示当前 OBD 内注册的全部集群(deploy name)的状态。

```shell
obd cluster list
```

## obd cluster display

展示指定集群的状态。

```shell
obd cluster display <deploy name>
```

F
v1.6.0  
frf12 已提交
97
参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。
F
v1.4.0  
frf12 已提交
98 99 100 101 102 103

## obd cluster reload

重载一个运行中集群。当您使用 `edit-config` 修改一个运行的集群的配置信息后,可以通过 `reload` 命令应用修改。

> **注意**
F
v1.6.0  
frf12 已提交
104
>
F
v1.4.0  
frf12 已提交
105 106 107 108 109 110
> 并非全部的配置项都可以通过 `reload` 来应用。有些配置项需要重启集群,甚至是重新部署集群才能生效。请根据 `edit-config` 后返回的信息进行操作。

```shell
obd cluster reload <deploy name>
```

F
v1.6.0  
frf12 已提交
111
参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。
F
v1.4.0  
frf12 已提交
112 113 114 115 116 117

## obd cluster restart

重启一个运行中集群。重启默认是无参重启。当您使用 edit-config 修改一个运行的集群的配置信息后,可以通过 `obd cluster restart <deploy name> --wp` 命令应用修改。

> **注意**
F
v1.6.0  
frf12 已提交
118
>
F
v1.4.0  
frf12 已提交
119 120 121 122 123 124
> 并非所有的配置项都可以通过 `restart` 来应用。有些配置项需要重部署集群才能生效。请根据 `edit-config` 后返回的信息进行操作。

```shell
obd cluster restart <deploy name>
```

F
v1.6.0  
frf12 已提交
125
参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。
F
v1.4.0  
frf12 已提交
126 127 128 129 130 131 132 133 134 135 136 137 138 139

选项说明见下表:

|          选项名          | 是否必选 |  数据类型  |  默认值  |                             说明                             |
|-----------------------|------|--------|-------|------------------------------------------------------------|
| -s/--servers          | 否    | string | 空     | 机器列表,用 `,` 间隔。                                             |
| -c/--components       | 否    | string | 空     | 组件列表,用 `,` 间隔。用于指定启动的组件。如果配置下的组件没有全部启动,该配置不会进入 running 状态。 |
| --wp/--with-parameter | 否    | bool   | false | 带参重启。用于让重启生效的配置项生效。                                        |

## obd cluster redeploy

重启一个运行中集群。当您使用 `edit-config` 修改一个运行的集群的配置信息后,可以通过 `redeploy` 命令应用修改。

> **注意**
F
v1.6.0  
frf12 已提交
140
>
F
v1.4.0  
frf12 已提交
141 142 143 144 145 146
> 该命令会销毁集群,重新部署,您集群中的数据会丢失,请先做好备份。

```shell
obd cluster redeploy <deploy name>
```

F
v1.6.0  
frf12 已提交
147
参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。
F
v1.4.0  
frf12 已提交
148 149 150 151 152 153 154 155 156

## obd cluster stop

停止一个运行中的集群。

```shell
obd cluster stop <deploy name>
```

F
v1.6.0  
frf12 已提交
157
参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。
F
v1.4.0  
frf12 已提交
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173

选项说明见下表:

|       选项名       | 是否必选 |  数据类型  | 默认值 |                              说明                               |
|-----------------|------|--------|-----|---------------------------------------------------------------|
| -s/--servers    | 否    | string | 空   | 机器列表,后跟 `yaml` 文件中 `servers` 对应的 `name` 值,用 `,` 间隔。用于指定启动的机器。 |
| -c/--components | 否    | string | 空   | 组件列表,用 `,` 间隔。用于指定停止的组件。如果配置下的组件没有全部停止,该配置不会进入 stopped 状态。    |

## obd cluster destroy

销毁已部署的集群。如果集群处于运行中的状态,该命令会先尝试执行 `stop`,成功后再执行 `destroy`

```shell
obd cluster destroy <deploy name> [-f]
```

F
v1.6.0  
frf12 已提交
174
参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。
F
v1.4.0  
frf12 已提交
175 176 177 178 179 180 181 182 183 184 185 186 187

选项 `-f``--force-kill`。作用为:检查到工作目录下有运行中的进程时,强制停止。销毁前会做检查是有还有进程在运行中。这些运行中的进程可能是 `start` 失败留下的,也可能是因为配置与其他集群重叠,进程是其他集群的。但无论是哪个原因导致工作目录下有进程未退出,`destroy` 都会直接停止。

使用该选项会强制停止这些运行中的进程,强制执行 `destroy`,非必填项。数据类型为 `bool`。默认不开启。

## obd cluster upgrade

使用该命令可升级一个已经启动的组件。

```shell
obd cluster upgrade <deploy name> -c <component name> -V <version> [tags]
```

F
v1.6.0  
frf12 已提交
188
参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。
F
v1.4.0  
frf12 已提交
189 190 191 192

|        选项名         | 是否必选 |  数据类型  |          默认值          |             说明              |
|--------------------|------|--------|-----------------------|-----------------------------|
| -c/--component     | 是    | string | 空                     | 需要升级的组件名。                   |
F
v1.6.0  
frf12 已提交
193
| -V/--version       | 是    | string |  空                    |        目标版本号                     |
F
v1.4.0  
frf12 已提交
194 195 196 197 198
| --skip-check       | 否    | bool   | false                 | 跳过可以跳过的检查。                  |
| --usable           | 否    | string | 空                     | 升级中使用到的镜像 hash 列表,用 `,` 间隔。 |
| --disable          | 否    | string | 空                     | 升级中禁用到的镜像 hash 列表,用 `,` 间隔。 |
| -e/--executer-path | 否    | string | /usr/obd/lib/executer | 升级脚本使用的解释器所在路径。             |

F
v1.6.0  
frf12 已提交
199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
## obd cluster reinstall

使用该命令可重新安装一个已部署的组件的仓库,新的仓库必须与当前仓库版本号相同。该命令在部署状态为 `running` 时,替换仓库后会使用无参启动,重新拉起组件。

```shell
obd cluster reinstall <deploy name> -c <component name> --hash <hash> [-f/--force]
```

参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
|------- | ------- | ------- |------- |-----|
| -c/--component | 是 | string | 空 | 要替换仓库的组件名。|
| --hash | 是 | string | 空 | 目标仓库。必须与当前仓库版本号相同。|
| -f/--force | 否 | bool | false | 启动失败也强制替换。|

F
v1.4.0  
frf12 已提交
215 216 217 218 219 220 221 222
## obd cluster tenant create

创建租户。该命令仅对 OceanBase 数据库有效。该命令会自动创建资源单元和资源池,用户不需要手动创建。

```shell
obd cluster tenant create <deploy name> [-n <tenant name>] [flags]
```

F
v1.6.0  
frf12 已提交
223
参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。
F
v1.4.0  
frf12 已提交
224 225 226 227 228 229 230 231 232 233 234 235

选项说明见下表:

|          选项名          | 是否必选 |  数据类型  |           默认值            |                                   说明                                   |
|-----------------------|------|--------|--------------------------|------------------------------------------------------------------------|
| -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` 时报错。                           |
| --min-memory          | 否    | int    | 0                        | 租户可用最小内存。为 `0` 时等同于 `--max-memory`。                                    |
| --max-disk-size       | 否    | int    | 0                        | 租户可用最大磁盘空间。为 `0` 时使用集群全部可用空间。实际值低于 `512M` 时报错。                         |
| --max-iops            | 否    | int    | 128                      | 租户 IOPS 最多数量,取值范围为 \[128,+∞)。                                          |
F
v1.6.0  
frf12 已提交
236
| --min-iops            | 否    | int    | 0                        | 租户 IOPS 最少数量。取值范围为 \[128,+∞)。为 `0` 时等同于 `--max-iops`。                    |
F
v1.4.0  
frf12 已提交
237
| --max-session-num     | 否    | int    | 64                       | 租户最大 SESSION 数,取值范围为 \[64,+∞)。                                         |
F
v1.6.0  
frf12 已提交
238 239
| --unit-num            | 否    | int    | 0                        | 指定要创建的单个 Zone 下的单元个数,取值要小于单个 Zone 中的 OBServer 个数。为 `0` 自动获取最大值。        |
| -z/--zone-list        | 否    | string | 空                        | 指定租户的 Zone 列表,多个 Zone 用英文逗号 `,` 间隔。为空时等于集群全部 ZONE。                     |
F
v1.4.0  
frf12 已提交
240 241 242
| --primary-zone        | 否    | string | RANDOM                   | 租户的主 Zone。                                                             |
| --charset             | 否    | string | 空                        | 租户的字符集。                                                                |
| --collate             | 否    | string | 空                        | 租户校对规则。                                                                |
F
v1.6.0  
frf12 已提交
243
| --replica-num         | 否    | int    | 0                        | 租户副本数。为 `0` 时等于 Zone 的数目。                                              |
F
v1.4.0  
frf12 已提交
244 245 246 247 248 249 250 251 252 253 254 255 256 257 258
| --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 数据库有效。

该命令会自动删除对应的资源单元和资源池。

```shell
obd cluster tenant drop <deploy name> [-n <tenant name>]
```

F
v1.6.0  
frf12 已提交
259
参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。
F
v1.4.0  
frf12 已提交
260 261

选项 `-n``--tenant-name`,此选项为必填项,表示要删除的租户名。
F
v1.6.0  
frf12 已提交
262

R
Rongfeng Fu 已提交
263 264 265 266 267 268 269 270 271 272
## obd cluster tenant list

使用该命令可以展示所有租户。该命令仅对 OceanBase 数据库有效。

```shell
obd cluster tenant list <deploy name>
```

参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。

F
v1.6.0  
frf12 已提交
273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307
## obd cluster chst

使用该命令可以转换配置风格。

```shell
obd cluster chst <deploy name> --style <STYLE> [-c/--components]

```

参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。

选项说明见下表:

|          选项名          | 是否必选 |  数据类型  |           默认值            |                                   说明                                   |
|-----------------------|------|--------|--------------------------|------------------------------------------------------------------------|
| --style      | 是    | string | 无                     | 目标配置风格。目前支持 default 和 cluster。                                       |
| -c/--components             | 否    | string  | 空                       | 组件列表,用 `,` 间隔。用于指定转换风格的组件。                                    |

## obd cluster check4ocp

检查当前配置是否满足 OCP 接管的条件。

```shell
obd cluster check4ocp <deploy name> [-c/--components] [-V/--version]

```

参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。

选项说明见下表:

|          选项名          | 是否必选 |  数据类型  |           默认值            |                                   说明                                   |
|-----------------------|------|--------|--------------------------|------------------------------------------------------------------------|
| -c/--components             | 否    | string  | 空                       | 组件列表,用 `,` 间隔。用于指定转换风格的组件。                                    |
| -V/--version      | 是    | string | 3.1.0                     | OCP 版本号。                                       |