---
title: "主机命令组 - 安装部署工具 OBD V3.5.0 | OceanBase 文档中心"
description: 主机命令组 obd 自 V3.2.0 起支持对机器的内核参数进行查看和修改，本文介绍功能相关的命令组。您可以在每条命令中使用 -h / --help 选项查看命令的帮助信息。同样的，当命令执行报错时，您亦可使用 -v / --verbose 查看命令的详细执行过程。 说明 本文中的 目标机器 指待初始化用户、查看或修…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*Qq8pT6yBPTcAAAAAAAAAAAAADiGDAQ/original) 安装部署工具 OBDV 3.5.0

# 主机命令组

更新时间：2025-09-06 15:00:44

[编辑](https://github.com/oceanbase/obd-doc/edit/V3.5.0/zh-CN/300.obd-command/570.host-commands.md)  

obd 自 V3.2.0 起支持对机器的内核参数进行查看和修改，本文介绍功能相关的命令组。您可以在每条命令中使用 `-h`/`--help` 选项查看命令的帮助信息。同样的，当命令执行报错时，您亦可使用 `-v`/`--verbose` 查看命令的详细执行过程。

#### 说明

本文中的 **目标机器** 指待初始化用户、查看或修改内核参数的机器。

## obd host user init

#### 说明

obd 自 V3.5.0 起支持通过该命令初始化用户。

使用该命令可在指定机器上初始化指定用户。若指定用户不存在会创建对应用户，并对该用户执行以下初始化设置：

- **设置 ulimit 参数**：修改系统资源限制参数，涉及修改的参数可参见官网《OceanBase 数据库》文档 [配置 limits.conf](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016079)。创建用户成功后，可在目标机器上登录创建的用户执行 `ulimit -a` 命令查看配置是否生效。
 - **配置免密 sudo 权限**：为指定用户配置免密执行 sudo 命令的权限。

  #### 说明

  配置 sudo 免密是为了方便操作，您可在部署集群完成后手动去除 sudo 免密。
 - **启用密码登录**：确保用户可以通过密码方式登录系统。
 - **修改目录所有者**：若目标机器中存在 `/data/1` 和 `/data/log1` 目录，将目录的所有者修改为指定的用户。

```shell
obd host user init [options]

```

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -u/--username | 否 | string | admin | 指定待初始化用户的用户名，若指定用户不存在会创建对应用户。 |
| -p/--password | 否 | string | 空 | 为待初始化用户设置新的登录密码。当指定的用户不存在时，该选项为必选项。 |
| --host | 否 | string | 127.0.0.1 | 指定待初始化用户所在的主机 IP，目前仅支持配置一个 IP。 |

### 使用示例

使用 obd 在目标机器 `10.10.10.1` 中初始化 `test` 用户，并为 `test` 用户设置登录密码：

```shell
obd host user init -u test --host=10.10.10.1 -p ********

```

该命令执行时会先尝试使用设置的用户（示例中为 `test`）登录目标机器（`10.10.10.1`），若无法连接，则需输入拥有 sudo 权限的用户及密码。obd 会使用输入的用户登录目标机器，并对指定用户执行初始化操作。

#### 说明

若使用该命令对本机用户执行初始化，obd 会验证当前执行用户是否拥有免密 sudo 权限。如有权限，将直接使用执行用户对指定用户执行初始化操作。

输出示例如下：

```shell
Connecting to the server
Please input username with sudo privileges. (default: root):
Please input root password:
Create user test
Change test password
Configure passwordless sudo for test
Enable password login
Modify ulimit parameters
10.10.10.1: ( open files,max user processes,core file size,stack size... ) have been successfully modified!
Trace ID: a2230822-71a7-11f0-8356-00163e513302
If you want to view detailed obd logs, please run: obd display-trace a2230822-71a7-11f0-8356-00163e513302

```

## obd host precheck

部署 OceanBase 数据库时对机器有一定的要求，比如机器 Linux 内核版本、内核参数等。使用该命令可检查目标机器中的指定用户是否满足部署要求，主要检查以下内容，仅不符合要求的检查项会有输出。

- **内核参数检查**：检查建议修改的内核参数，具体参数可查看官网《OceanBase 数据库》文档 [配置 sysctl.conf](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016077)。
 - **安全设置检查**：检查防火墙和 SELinux 功能是否关闭。
 - **登录设置检查**：检查是否支持使用密码登录。
 - **系统权限检查**：检查指定用户是否拥有免密执行 sudo 命令的权限。
 - **网络组件检查**：检查是否安装 network 组件。
 - **内存资源检查**：检查机器可用内存是否满足要求（大于 3 GB）。
 - **内核版本检查**：检查机器内核版本是否满足要求（Linux 3.1.0 及以上）。
 - **目录属主检查**：若目标机器中存在 `/data/1` 和 `/data/log1` 目录，将检查目录的所有者是否为指定的用户。
 - **指令检查**：x86 架构下检查 CPU 是否支持 AVX 指令；ARM 架构下检查 CPU 是否支持 LSE 指令。

  #### 说明

  当使用 x86 架构机器时，若待部署的 OceanBase 数据库版本在以下范围中，可忽略 AVX 指令检查结果：

     - 对于 V4.2.x 版本，要求为 V4.2.5.6 或之后版本。
     - 对于 V4.3.x 版本，要求为 V4.3.5.4 或之后版本。
     - 对于 V4.4.x 版本，要求为 V4.4.1.0 或之后版本。

```shell
obd host precheck <ssh username>  <server ip>

```

参数 `ssh username` 为登录目标机器的用户名；`server ip` 为目标机器的 IP，目前仅支持配置一个 IP。

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -u/--username | 否 | string | 登录用户 | 指定 user 作为 precheck 命令中，用户检查功能的对象。未指定的情况下默认为登录用户，即命令中的 `<ssh username>`。 |
| -p/--password | 否 | string | 空 | 设置登录用户的登录密码，若目标机器中登录用户配置有密码，且未设置当前执行命令用户与目标机器中登录用户之间的 SSH 免密，需通过该选项指定用户密码。 |
| --ssh-key-file | 否 | string | 默认为空 | 指定私钥文件的路径，需配置为绝对路径，用于基于私钥的 SSH 无密码身份验证。 |

### 使用示例

此处假设目标机器不支持密码访问，且当前仅配置了对目标机器中 root 用户的 SSH 免密登录（私钥文件为默认路径 `~/.ssh/id_ rsa`）。可执行如下命令，命令执行将会使用 root 用户登录目标机器 `10.10.10.1`，并对 test 用户进行检查：

#### 说明

此处仅为示例，您可将登录用户设置为任意可登录到指定机器的用户。以本节示例为例，若支持通过密码访问目标机器 test 用户，下文示例命令与 `obd host precheck test 10.10.10.1 -p ******` 命令作用一样。

```shell
obd host precheck root 10.10.10.1 -u test

```

输出示例如下，表示目标机器未开启密码登录、test 用户无免密执行 sudo 的权限、`/data/1` 和 `/data/log1` 目录属主非 test 用户，并输出建议修改的内核参数。

```shell
get system config ok
[WARN] Password login permission is not enabled.
[WARN] The test user's sudo privileges are not configured for password-free access.
[WARN] The owner of the ['/data/1', '/data/log1'] directory is not test.
+-------------------------------------------------------------------------------------------------+
|                                   System Parameter Change List                                  |
+---------------+-------------------------------------------+---------------+---------------------+
| ip            | name                                      | current_value | expected_value      |
+---------------+-------------------------------------------+---------------+---------------------+
| 10.10.10.1    | fs.aio-max-nr                             | 65536         | 1048576             |
| 10.10.10.1    | net.core.somaxconn                        | 128           | 2048                |
| 10.10.10.1    | net.core.netdev_max_backlog               | 1000          | 10000               |
| 10.10.10.1    | net.core.rmem_default                     | 212992        | 16777216            |
| 10.10.10.1    | net.core.wmem_default                     | 212992        | 16777216            |
| 10.10.10.1    | net.core.rmem_max                         | 212992        | 16777216            |
| 10.10.10.1    | net.core.wmem_max                         | 212992        | 16777216            |
| 10.10.10.1    | net.ipv4.conf.default.rp_filter           | 0             | 1                   |
| 10.10.10.1    | net.ipv4.conf.default.accept_source_route | 1             | 0                   |
| 10.10.10.1    | net.ipv4.tcp_rmem                         | 6291456       | 4096 87380 16777216 |
| 10.10.10.1    | net.ipv4.tcp_wmem                         | 16384         | 4096 65536 16777216 |
| 10.10.10.1    | net.ipv4.tcp_max_syn_backlog              | 1024          | 16384               |
| 10.10.10.1    | net.ipv4.tcp_fin_timeout                  | 60            | 15                  |
| 10.10.10.1    | vm.min_free_kbytes                        | 67584         | 2097152             |
| 10.10.10.1    | fs.file-max                               | 3205772       | 6573688             |
| 10.10.10.1    | fs.pipe-user-pages-soft                   | 16384         | 0                   |
| 10.10.10.1    | vm.max_map_count                          | 65530         | 655360              |
| 10.10.10.1    | nofile                                    | 65535         | 655350              |
+---------------+-------------------------------------------+---------------+---------------------+
Please run `obd host user init -u test --host=10.10.10.1` to init user.
Please run `obd host init root 10.10.10.1  -u test` to init host.
Trace ID: 0f1219da-71d7-11f0-a56f-00163e513302
If you want to view detailed obd logs, please run: obd display-trace 0f1219da-71d7-11f0-a56f-00163e513302

```

## obd host init

使用该命令可自动修改部署 OceanBase 数据库时建议修改的内核参数、关闭防火墙和 SELinux 功能、修改 `/data/1` 和 `/data/log1` 目录属主（如存在对应目录），并安装 network 组件。具体修改的内核参数可查看官网《OceanBase 数据库》文档 [配置 sysctl.conf](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016077)。

```shell
obd host init <ssh username>  <server ip>

```

参数 `ssh username` 为登录目标机器的用户名，需确保登录用户拥有 sudo 权限；`server ip` 为目标机器的 IP，目前仅支持配置一个 IP。

选项说明见下表：

| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| -u/--username | 否 | string | 登录用户 | 指定 user 作为 init 命令中，用户修改功能的对象。未指定的情况下默认为登录用户，即命令中的 `<ssh username>`。 |
| -p/--password | 否 | string | 空 | 设置登录用户的登录密码，若目标机器中登录用户配置有密码，且未设置当前执行命令用户与目标机器中登录用户之间的 SSH 免密，需通过该选项指定用户密码。 |
| --ssh-key-file | 否 | string | 默认为空 | 指定私钥文件的路径，需配置为绝对路径，用于基于私钥的 SSH 无密码身份验证。 |

### 使用示例

此处假设目标机器不支持密码访问，且当前仅配置了对目标机器中 root 用户的 SSH 免密登录（私钥文件为默认路径 `~/.ssh/id_ rsa`）。可执行如下命令，命令执行将会使用 root 用户登录目标机器 `10.10.10.1`，并对 test 用户进行修改：

#### 说明

此处仅为示例，您可将登录用户设置为任意可登录到指定机器的用户，但需确保登录用户拥有 sudo 权限。

```shell
obd host init root 10.10.10.1 -u test

```

输出示例如下，命令修改了建议修改的内核参数、并修改 `/data/1` 和 `/data/log1` 目录的属主为 test 用户。

```shell
get system config ok
+-------------------------------------------------------------------------------------------------+
|                                   System Parameter Change List                                  |
+---------------+-------------------------------------------+---------------+---------------------+
| ip            | name                                      | current_value | expected_value      |
+---------------+-------------------------------------------+---------------+---------------------+
| 10.10.10.1    | fs.aio-max-nr                             | 65536         | 1048576             |
| 10.10.10.1    | net.core.somaxconn                        | 128           | 2048                |
| 10.10.10.1    | net.core.netdev_max_backlog               | 1000          | 10000               |
| 10.10.10.1    | net.core.rmem_default                     | 212992        | 16777216            |
| 10.10.10.1    | net.core.wmem_default                     | 212992        | 16777216            |
| 10.10.10.1    | net.core.rmem_max                         | 212992        | 16777216            |
| 10.10.10.1    | net.core.wmem_max                         | 212992        | 16777216            |
| 10.10.10.1    | net.ipv4.conf.default.rp_filter           | 0             | 1                   |
| 10.10.10.1    | net.ipv4.conf.default.accept_source_route | 1             | 0                   |
| 10.10.10.1    | net.ipv4.tcp_rmem                         | 6291456       | 4096 87380 16777216 |
| 10.10.10.1    | net.ipv4.tcp_wmem                         | 16384         | 4096 65536 16777216 |
| 10.10.10.1    | net.ipv4.tcp_max_syn_backlog              | 1024          | 16384               |
| 10.10.10.1    | net.ipv4.tcp_fin_timeout                  | 60            | 15                  |
| 10.10.10.1    | vm.min_free_kbytes                        | 67584         | 2097152             |
| 10.10.10.1    | fs.file-max                               | 3205772       | 6573688             |
| 10.10.10.1    | fs.pipe-user-pages-soft                   | 16384         | 0                   |
| 10.10.10.1    | vm.max_map_count                          | 65530         | 655360              |
| 10.10.10.1    | nofile                                    | 65535         | 655350              |
+---------------+-------------------------------------------+---------------+---------------------+
chown dir ok
modify system parameters
10.10.10.1: ( fs.aio-max-nr,net.core.somaxconn,net.core.netdev_max_backlog,net.core.rmem_default,net.core.wmem_default... ) have been successfully modified!
You must reboot the following servers to ensure the ulimit parameters take effect: （10.10.10.1）.
Trace ID: f9491158-71db-11f0-81f0-00163e513302
If you want to view detailed obd logs, please run: obd display-trace f9491158-71db-11f0-81f0-00163e513302

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
