---
title: "部署 seekdb - 安装部署工具 OBD V4.5.0 | OceanBase 文档中心"
description: 部署 seekdb 本文介绍如何使用 obd 在单台机器上部署 seekdb。 前提条件 在开始之前，请确保您已满足以下条件： 待部署 seekdb 的服务器满足 准备服务器 一文中的要求，且已参照 部署前准备 章节进行配置。 您已安装 V4.3.0 或之后版本的 obd，且安装 obd 的机器可以通过 SSH 方式…
---
切换语言

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

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

# 部署 seekdb

更新时间：2026-07-09 15:25:37

[编辑](https://github.com/oceanbase/obd-doc/edit/V4.5.0/zh-CN/400.user-guide/300.command-line-operations/200.deploy-component/300.start-the-seekdb-by-using-obd.md)  

本文介绍如何使用 obd 在单台机器上部署 seekdb。

## 前提条件

在开始之前，请确保您已满足以下条件：

- 待部署 seekdb 的服务器满足 [准备服务器](https://www.oceanbase.ai/docs/zh-CN/prepare-servers) 一文中的要求，且已参照 [部署前准备](https://www.oceanbase.ai/docs/zh-CN/configurations-overview) 章节进行配置。
 - 您已安装 V4.3.0 或之后版本的 obd，且安装 obd 的机器可以通过 SSH 方式访问待部署 seekdb 的机器。安装操作可参见 [安装 obd](https://www.oceanbase.com/docs/common-obd-cn-1000000006430554)，建议安装最新版本。

  #### 注意

  若您计划在 obd 节点上部署 seekdb，建议为机器配置本机的 SSH 免密登录，具体操作可参见 [设置无密码 SSH 登录](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476409)。
 - obd 镜像库中存在部署所需组件安装包（seekdb、seekdb-libs），且需为 V1.2.0 或之后版本。

  若 obd 所在机器可以连接外部网络，部署时会自动从远程镜像库获取社区版组件安装包。若 obd 所在机器无法连接外部网络，可访问官网 [OceanBase 软件下载中心](https://www.oceanbase.com/softwarecenter) 下载 seekdb 安装包，并执行 `obd mirror clone` 命令上传至 obd 本地镜像库。上传后可执行 `obd mirror list local` 命令查看本地镜像库中的安装包。

## 操作步骤

#### 注意

本文操作以 x86 架构的 CentOS Linux 7.9 镜像作为环境，其他环境可能略有不同。

     交互式部署 seekdb   通过配置文件部署 seekdb

执行 `obd seekdb install` 命令即可启动交互式部署流程，您需在交互式安装流程中配置如下内容。

1. 选择安装模式

   目前支持三种安装模式：Standalone（单机模式）、Primary（主实例模式）、Standby（备实例模式）。

       单机模式   主实例模式   备实例模式

   未配置选项时，默认使用单机模式部署 seekdb。

   ```shell
   obd seekdb install

   ```

   命令执行后需参照下文配置 seekdb 实例信息：

   ```shell
   #设置部署名，不可和已有部署名重复
   Instance name [myseekdb]:
   #输入待安装 seekdb 的机器 IP，默认为本机 IP
   Server IP [10.10.10.1]:
   #选择部署所用用户，默认为当前用户
   Username [admin]:
   #设置 SSH 端口，默认为 22
   SSH port [22]:
   #输入部署所用用户密码，默认为空
   #仅在非本地部署时展示，若已配置免密，可直接单击键盘 Enter 键跳过
   Password (default empty):
   #设置 seekdb 的安装目录，需确保配置的用户拥有目录的访问和读写权限
   Seekdb installation directory [/home/admin/myseekdb]:
   #设置存储 SSTable 等数据的目录，需确保配置的用户拥有目录的访问和读写权限
   Data directory (data_dir, optional) [/data/1]:
   #设置存储日志的目录，需确保配置的用户拥有目录的访问和读写权限
   Redo log directory (redo_dir, optional) [/data/log1]:
   #设置 seekdb 的 SQL 端口
   MySQL port [2881]:
   #设置 seekdb 的 obshell 端口
   OBShell port [2886]:
   #控制是否设置开机自启动，默认不开启该功能
   #仅在非容器环境下展示，开启自启动功能需确保部署用户拥有 sudo 权限，否则部署会报错
   Do you want to enable the Seekdb service to start automatically when the system boots up? (y/yes or n/no) [no]:

   ```

   可通过配置 `--primary` 选项选择使用主实例模式部署 seekdb。主实例模式部署时需配置 RPC 端口，启用 RPC 功能供备实例同步信息。

   ```shell
   obd seekdb install --primary

   ```

   ```shell
   #设置部署名，不可和已有部署名重复
   Instance name [myseekdb_primary]:
   #输入待安装 seekdb 的机器 IP，默认为本机 IP
   Server IP [10.10.10.1]:
   #选择部署所用用户，默认为当前用户
   Username [admin]:
   #设置 SSH 端口，默认为 22
   SSH port [22]:
   #输入部署所用用户密码，默认为空
   #仅在非本地部署时展示，若已配置免密，可直接单击键盘 Enter 键跳过
   Password (default empty):
   #设置 seekdb 的安装目录，需确保配置的用户拥有目录的访问和读写权限
   Seekdb installation directory [/home/admin/myseekdb_primary]:
   #设置存储 SSTable 等数据的目录，需确保配置的用户拥有目录的访问和读写权限
   Data directory (data_dir, optional) [/data/1]:
   #设置存储日志的目录，需确保配置的用户拥有目录的访问和读写权限
   Redo log directory (redo_dir, optional) [/data/log1]:
   #设置 seekdb 的 SQL 端口
   MySQL port [2881]:
   #设置 seekdb 的 RPC 端口
   RPC port [2882]:
   #设置 seekdb 的 obshell 端口
   OBShell port [2886]:
   #控制是否设置开机自启动，默认不开启该功能
   #仅在非容器环境下展示，开启自启动功能需确保部署用户拥有 sudo 权限，否则部署会报错
   Do you want to enable the Seekdb service to start automatically when the system boots up? (y/yes or n/no) [no]:

   ```

   可通过配置 `--standby` 选项选择使用备实例模式部署 seekdb。备实例模式部署时需配置 seekdb 主实例信息。

   ```shell
   obd seekdb install --standby

   ```

   命令执行后需参照下文配置 seekdb 信息：

   ```shell
   #设置部署名，不可和已有部署名重复
   Instance name [myseekdb_standby]:
   #选择 seekdb 主实例，若存在多个 seekdb 实例，可通过键盘上下方向键选择
   ┌────────────────────────────┐
   │   Select primary cluster   │
   ├────────────────────────────┤
   │  ▸  myseekdb_primary       │
   └────────────────────────────┘
     ↑↓ move   Enter confirm   q quit
   Connect to primary (10.10.10.1:2881) ok
   #若选择的主实例未开启 RPC 功能，将产生 WARN 信息，并提供可选的处理方案
   [WARN] Primary enable_rpc_service is not enabled.
   #可通过键盘上下方向键选择修改主实例配置并重启（Restart now）；或者不修改配置并退出部署备实例流程（Exit）
   ┌─────────────────────────────────────────────────────────────────────────┐
   │                              Choose action                              │
   ├─────────────────────────────────────────────────────────────────────────┤
   │  ▸  Restart now (enable in config, then stop and start primary cluster) │
   │  ○  Exit (exit without changing config)                                 │
   └─────────────────────────────────────────────────────────────────────────┘
     ↑↓ move   Enter confirm   q quit
   #二次确认是否要重启主实例，需输入 y 才会继续部署流程。不输入或输入其他值将重复进行上文选择
   #重新启动主实例可能会影响正在运行的业务，请谨慎考虑
   Restarting the primary instance may affect the running business. Do you want to restart it? (y/yes or n/no) [no]:
   #输入待安装 seekdb 的机器 IP，默认为本机 IP
   Server IP [10.10.10.1]:
   #选择部署所用用户，默认为当前用户
   Username [admin]:
   #设置 SSH 端口，默认为 22
   SSH port [22]:
   #输入部署所用用户密码，默认为空
   #仅在非本地部署时展示，若已配置免密，可直接单击键盘 Enter 键跳过
   Password (default empty):
   #设置 seekdb 的安装目录，需确保配置的用户拥有目录的访问和读写权限
   Seekdb installation directory [/home/admin/myseekdb_standby]:
   #设置存储 SSTable 等数据的目录，需确保配置的用户拥有目录的访问和读写权限
   Data directory (data_dir, optional) [/data/1]:
   #设置存储日志的目录，需确保配置的用户拥有目录的访问和读写权限
   Redo log directory (redo_dir, optional) [/data/log1]:
   #设置 seekdb 的 SQL 端口
   MySQL port [2881]:
   #设置 seekdb 的 RPC 端口
   RPC port [2882]:
   #设置 seekdb 的 obshell 端口
   OBShell port [2886]:
   #控制是否设置开机自启动，默认不开启该功能
   #仅在非容器环境下展示，开启自启动功能需确保部署用户拥有 sudo 权限，否则部署会报错
   Do you want to enable the Seekdb service to start automatically when the system boots up? (y/yes or n/no) [no]:

   ```
 2. 选择部署模式

   ```shell
   ┌───────────────────────┐
   │      Select mode      │
   ├───────────────────────┤
   │  ○  Dev (development) │
   │  ▸  Prod (production) ││
   └───────────────────────┘
     ↑↓ move   Enter confirm   q quit

   ```

   选择 `Dev` 模式时，将直接输出配置信息，确认配置信息后即可开始部署，该模式下所用资源较少。选择 `Prod` 模式时，您需配置 seekdb 的最大内存值，并选择 Memory 策略。

   ```shell
   #设置 seekdb 最大内存值，obd 会根据 seekdb 节点资源情况生成取值范围及默认值
   SeekDB Max Memory (Configurable Range[5, 31], unit: G) [28]:
   #通过键盘上下方向键选择 Memory 策略
   ┌──────────────────────────────────────────────────────────┐
   │                     Memory strategy                      │
   ├──────────────────────────────────────────────────────────┤
   │  ▸  Balanced (Reduce memory usage when possible)         │
   │  ○  Performance (Use more memory to enhance performance) │
   └──────────────────────────────────────────────────────────┘
     ↑↓ move   Enter confirm   q quit

   ```
 3. 确认配置

   完成上述配置后，程序会输出您刚刚设置的配置，您需确认这些配置是否正确，示例如下：

   ```shell
   --- Config summary ---
     1. IP = 10.10.10.1
     2. User = admin
     3. ssh_port = 22
     4. home_path = /home/admin/myseekdb_primary
     5. data_dir = /data/1
     6. redo_dir = /data/log1
     7. mysql_port = 2881
     8. rpc_port = 2882
     9. obshell_port = 2886
     10. memory_limit = 15G
     11. memory_hard_limit = 28G
     12. datafile_size = 147G
     13. max_syslog_file_count = 1024
     14. log_disk_size = 46G
     15. auto_start = False
   Confirm config? (y/yes or n/no to modify) [yes]:

   ```

   #### 说明

      - 主实例部署模式下，

       若 `memory_limit` 值低于 6G，将输出告警：`memory_limit is below 6G. For a primary cluster this is small; standby sync may be slow. Consider 6G or more if you plan heavy replication.`。
      - 创建备实例时，对应主实例的 `log_disk_size` 需不小于 `max(primary memory_limit, standby memory_limit)` 的三倍，若小于，obd 将自动更新主实例的 `log_disk_size`。  

   您需在确认位置输入 `y` 或 `n`：若您输入为 `y`，程序会开始根据配置部署 seekdb；若您输入为 `n`，您需选择待修改的配置并为其设置新的值，设置完成后将重新展示全部配置供您确认。示例如下，选择修改 `redo_dir` 配置：

   ```shell
   ┌───────────────────────────┐
   │    Select item to edit    │
   ├───────────────────────────┤
   │  ○  IP                    │
   │  ○  User                  │
   │  ○  ssh_port              │
   │  ○  home_path             │
   │  ○  data_dir              │
   │  ▸  redo_dir              │
   │  ○  mysql_port            │
   │  ○  rpc_port              │
   │  ○  obshell_port          │
   │  ○  memory_limit          │
   │  ○  memory_hard_limit     │
   │  ○  datafile_maxsize      │
   │  ○  max_syslog_file_count │
   │  ○  log_disk_size         │
   │  ○  auto_start            │
   └───────────────────────────┘
     ↑↓ move   Enter confirm   q back
   #为 redo_log 设置新的值
   New value (current: /data/log1) [/data/log1]: /data/log2
     Updated redo_dir = /data/log2

   ```
 4. 部署成功

   seekdb 部署成功后会输出实例的部署情况以及对应连接串，具体如下：

   ```shell
   Start seekdb ok
   seekdb program health check ok
   Connect to seekdb 10.10.10.1:2881 ok
   obshell start ok
   obshell program health check ok
   obshell bootstrap ok
   Check RPC TLS status ok
   Connect to seekdb 10.10.10.1:2881 ok
   Wait for seekdb init ok
   +--------------------------------+
   |             seekdb             |
   +---------------+---------+------+
   | ip            | version | port |
   +---------------+---------+------+
   | 10.10.10.1    | 1.2.0.0 | 2881 |
   +---------------+---------+------+
   obclient -h10.10.10.1 -P2881 -uroot -p'********' -Doceanbase -A
   myseekdb_primary running

   ```

### 步骤一：修改配置文件

obd 提供配置文件示例，若您机器中的 obd 是通过直接下载的方式安装，则可在 `/usr/obd/example/seekdb` 目录下查看 obd 提供的 seekdb 配置文件示例。

#### 说明

- 本文末会提供完整的部署 seekdb 的 [配置文件示例](#配置文件示例)，您也可直接复制并进行修改。
 - 您需根据您环境的真实情况修改配置文件中参数。

1. 创建配置文件

   ```shell
   vim myseekdb.yaml

   ```
 2. 配置用户信息

   ```yaml
   ## Only need to configure when remote login is required
   user:
     username: admin
   #   password: your password if need
     key_file: /home/admin/.ssh/id_rsa
   #   port: your ssh port, default 22
   #   timeout: ssh connection timeout (second), default 30

   ```

   `username` 为登录到目标机器（安装 seekdb 的机器）的用户名，确保您的用户名有下文配置的目录的访问和读写权限。`password` 和 `key_file` 均用于验证用户，通常情况下只需要填写一个。

   #### 注意

   在配置秘钥路径后，如果您的秘钥不需要口令，请注释或者删除 `password`，以免 `password` 被视为秘钥口令用于登录，导致校验失败。
 3. 配置 seekdb 的 IP、端口和相关目录，并配置内存相关参数及 root 用户密码

   ```yaml
   seekdb:
     servers:
       - 10.10.10.1
     global:
       home_path: /home/admin/myseekdb
       data_dir: /data/1
       redo_dir: /data/log1
       mysql_port: 2881
       rpc_port: 2882
       obshell_port: 2886
       memory_limit: 12G
       memory_hard_limit: 20G
       datafile_size: 100G
       datafile_maxsize: 300G
       cpu_count: 8
       max_syslog_file_count: 1024
       log_disk_size: 30G
       enable_auto_start: false
       production_mode: false
       root_password: ********
       enable_rpc_service: true
       log_disk_utilization_threshold: 80

   ```

   配置文件中各配置项含义可参见 [配置文件说明](https://www.oceanbase.com/docs/common-obd-cn-1000000006430648) 一文中 **配置项说明** 部分介绍。需注意如下几点：

      - 配置文件中若未配置密码，obd 会自动生成随机密码，部署成功后可通过 `obd cluster edit-config` 命令查看配置文件中对应的配置项获取密码。
      - 配置 `enable_auto_start` 为 `true` 即表示开启 observer 进程开机自启动功能，该功能需确保部署用户拥有 sudo 权限，且部署环境非容器环境。

### 步骤二：部署 seekdb 实例

#### 说明

本节中所使用命令的详细使用方法可参考 [seekdb 命令组](https://www.oceanbase.com/docs/common-obd-cn-1000000006430543)。

1. 部署 seekdb 实例

   ```shell
   [admin@test001 ~]$ obd seekdb deploy myseekdb -c myseekdb.yaml

   ```

   示例中是以部署名为 `myseekdb`，配置文件为 `myseekdb.yaml` 为例，您可自定义部署名，并根据实际情况指定所需配置文件。

   此命令会检查配置文件中的目录是否为空，目录不为空时将报错。若您确认该目录下的内容可全部删除，可以加上 `-f` 选项，强制清空目录。
 2. 启动 seekdb 实例

   ```shell
   [admin@test001 ~]$ obd seekdb start myseekdb

   ```

   实例启动成功后会输出部署情况以及对应连接串，具体如下：

   ```shell
   Wait for seekdb init ok
   +--------------------------------+
   |             seekdb             |
   +---------------+---------+------+
   | ip            | version | port |
   +---------------+---------+------+
   | 10.10.10.1    | 1.2.0.0 | 2881 |
   +---------------+---------+------+
   obclient -h10.10.10.1 -P2881 -uroot -p'********' -Doceanbase -A
   myseekdb running

   ```

### 验证部署结果

1. 查看 seekdb 实例列表

   可执行 `obd seekdb list` 命令查看 seekdb 实例列表，输出如下，存在部署名为 `myseekdb_primary` 的 seekdb 实例，且状态为 `running`，表示实例处于运行中。

   ```shell
   +--------------------------------------------------------------------------------+
   |                              SeekDB Cluster List                               |
   +------------------+-------------------------------------------+-----------------+
   | Name             | Configuration Path                        | Status (Cached) |
   +------------------+-------------------------------------------+-----------------+
   | myseekdb_primary | /home/admin/.obd/cluster/myseekdb_primary | running         |
   +------------------+-------------------------------------------+-----------------+

   ```
 2. 查看 seekdb 实例具体状态

   ```shell
   [admin@test001 ~]$ obd seekdb display myseekdb_primary

   ```

   输出如下：

   ```shell
   Get local repositories and plugins ok
   Open ssh connection ok
   Connect to seekdb 10.10.10.1:2881 ok
   Wait for seekdb init ok
   +--------------------------------+
   |             seekdb             |
   +---------------+---------+------+
   | ip            | version | port |
   +---------------+---------+------+
   | 10.10.10.1    | 1.2.0.0 | 2881 |
   +---------------+---------+------+
   obclient -h10.10.10.1 -P2881 -uroot -p'********' -Doceanbase -A

   ```
 3. 连接 seekdb 实例

   您可复制 `obd seekdb display` 命令中输出的连接串连接 seekdb 实例。

   ```shell
   obclient -h10.10.10.1 -P2881 -uroot -p'********' -Doceanbase -A

   ```

   输出如下，成功使用 root 用户登录 seekdb 实例。

   ```shell
   Welcome to the OceanBase.  Commands end with ; or \g.
   Your OceanBase connection id is 3221489761
   Server version: OceanBase 4.3.5.3 seekdb (r1.2.0.0) (Built 200000212026032314-50f34cacb66d188d8fb030696f4c2e987d1648c3 Mar 23 2026)

   Copyright (c) 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@(none))[oceanbase]>

   ```

## 相关操作

您可执行如下命令对 obd 部署的 seekdb 实例进行管理。更多操作详见 [seekdb 命令组](https://www.oceanbase.com/docs/common-obd-cn-1000000006430543)。

- 查看 seekdb 实例列表

  ```shell
  obd seekdb list

  ```
 - 查看 seekdb 实例状态，以部署名为 `myseekdb` 为例

  ```shell
  obd seekdb display myseekdb

  ```
 - 修改实例参数

  obd 支持通过 `obd cluster` 命令组管理 seekdb 实例，您可执行如下命令打开配置文件，修改 seekdb 实例配置。

  ```shell
  obd cluster edit-config myseekdb

  ```

  修改配置并保存退出后，obd 会告知如何使得此次修改生效，复制 obd 输出的命令即可。保存修改后输出如下：

  ```shell
  Search param plugin and load ok
  Search param plugin and load ok
  Parameter check ok
  Save deploy "myseekdb" configuration
  Use `obd cluster reload myseekdb` to make changes take effect.

  ```

  复制执行输出中的 `obd cluster reload myseekdb` 命令即可使修改生效。
 - 停止运行中的 seekdb 实例，以部署名为 `myseekdb` 为例

  ```shell
  obd seekdb stop myseekdb

  ```
 - 销毁已部署的 seekdb 实例，以部署名为 `myseekdb` 为例

  ```shell
  obd seekdb destroy myseekdb

  ```

## 配置文件示例

```yaml
user:
  username: admin
  #password: ********
  key_file: /home/admin/.ssh/id_rsa
seekdb:
  servers:
    - 10.10.10.1
  global:
    home_path: /home/admin/myseekdb
    data_dir: /data/1
    redo_dir: /data/log1
    mysql_port: 2881
    rpc_port: 2882
    obshell_port: 2886
    memory_limit: 12G
    memory_hard_limit: 20G
    datafile_size: 100G
    datafile_maxsize: 300G
    cpu_count: 8
    max_syslog_file_count: 1024
    log_disk_size: 30G
    enable_auto_start: false
    production_mode: false
    root_password: ********
    enable_rpc_service: true
    log_disk_utilization_threshold: 80

```

## 相关文档

- [创建备实例](https://www.oceanbase.com/docs/common-obd-cn-1000000006430675)
 - [配置文件说明](https://www.oceanbase.com/docs/common-obd-cn-1000000006430648)
 - [角色切换与解耦](https://www.oceanbase.com/docs/common-obd-cn-1000000006430676)

 上一篇 下一篇 ![有帮助](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) 咨询热线
