首批通过分布式安全可靠测评,为关键业务系统打造
部署 seekdb
更新时间:2026-07-09 15:25:37
本文介绍如何使用 obd 在单台机器上部署 seekdb。
前提条件
在开始之前,请确保您已满足以下条件:
您已安装 V4.3.0 或之后版本的 obd,且安装 obd 的机器可以通过 SSH 方式访问待部署 seekdb 的机器。安装操作可参见 安装 obd,建议安装最新版本。
注意
若您计划在 obd 节点上部署 seekdb,建议为机器配置本机的 SSH 免密登录,具体操作可参见 设置无密码 SSH 登录。
obd 镜像库中存在部署所需组件安装包(seekdb、seekdb-libs),且需为 V1.2.0 或之后版本。
若 obd 所在机器可以连接外部网络,部署时会自动从远程镜像库获取社区版组件安装包。若 obd 所在机器无法连接外部网络,可访问官网 OceanBase 软件下载中心 下载 seekdb 安装包,并执行
obd mirror clone命令上传至 obd 本地镜像库。上传后可执行obd mirror list local命令查看本地镜像库中的安装包。
操作步骤
注意
本文操作以 x86 架构的 CentOS Linux 7.9 镜像作为环境,其他环境可能略有不同。
执行 obd seekdb install 命令即可启动交互式部署流程,您需在交互式安装流程中配置如下内容。
选择安装模式
目前支持三种安装模式:Standalone(单机模式)、Primary(主实例模式)、Standby(备实例模式)。
单机模式主实例模式备实例模式未配置选项时,默认使用单机模式部署 seekdb。
obd seekdb install命令执行后需参照下文配置 seekdb 实例信息:
#设置部署名,不可和已有部署名重复 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 功能供备实例同步信息。obd seekdb install --primary命令执行后需参照下文配置 seekdb 实例信息:
#设置部署名,不可和已有部署名重复 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 主实例信息。obd seekdb install --standby命令执行后需参照下文配置 seekdb 信息:
#设置部署名,不可和已有部署名重复 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]:选择部署模式
┌───────────────────────┐ │ Select mode │ ├───────────────────────┤ │ ○ Dev (development) │ │ ▸ Prod (production) ││ └───────────────────────┘ ↑↓ move Enter confirm q quit选择
Dev模式时,将直接输出配置信息,确认配置信息后即可开始部署,该模式下所用资源较少。选择Prod模式时,您需配置 seekdb 的最大内存值,并选择 Memory 策略。#设置 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确认配置
完成上述配置后,程序会输出您刚刚设置的配置,您需确认这些配置是否正确,示例如下:
--- 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配置:┌───────────────────────────┐ │ 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- 主实例部署模式下,
部署成功
seekdb 部署成功后会输出实例的部署情况以及对应连接串,具体如下:
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 的 配置文件示例,您也可直接复制并进行修改。
您需根据您环境的真实情况修改配置文件中参数。
创建配置文件
vim myseekdb.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 30username为登录到目标机器(安装 seekdb 的机器)的用户名,确保您的用户名有下文配置的目录的访问和读写权限。password和key_file均用于验证用户,通常情况下只需要填写一个。注意
在配置秘钥路径后,如果您的秘钥不需要口令,请注释或者删除
password,以免password被视为秘钥口令用于登录,导致校验失败。配置 seekdb 的 IP、端口和相关目录,并配置内存相关参数及 root 用户密码
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配置文件中各配置项含义可参见 配置文件说明 一文中 配置项说明 部分介绍。需注意如下几点:
配置文件中若未配置密码,obd 会自动生成随机密码,部署成功后可通过
obd cluster edit-config命令查看配置文件中对应的配置项获取密码。配置
enable_auto_start为true即表示开启 observer 进程开机自启动功能,该功能需确保部署用户拥有 sudo 权限,且部署环境非容器环境。
步骤二:部署 seekdb 实例
说明
本节中所使用命令的详细使用方法可参考 seekdb 命令组。
部署 seekdb 实例
[admin@test001 ~]$ obd seekdb deploy myseekdb -c myseekdb.yaml示例中是以部署名为
myseekdb,配置文件为myseekdb.yaml为例,您可自定义部署名,并根据实际情况指定所需配置文件。此命令会检查配置文件中的目录是否为空,目录不为空时将报错。若您确认该目录下的内容可全部删除,可以加上
-f选项,强制清空目录。启动 seekdb 实例
[admin@test001 ~]$ obd seekdb start myseekdb实例启动成功后会输出部署情况以及对应连接串,具体如下:
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
验证部署结果
查看 seekdb 实例列表
可执行
obd seekdb list命令查看 seekdb 实例列表,输出如下,存在部署名为myseekdb_primary的 seekdb 实例,且状态为running,表示实例处于运行中。+--------------------------------------------------------------------------------+ | SeekDB Cluster List | +------------------+-------------------------------------------+-----------------+ | Name | Configuration Path | Status (Cached) | +------------------+-------------------------------------------+-----------------+ | myseekdb_primary | /home/admin/.obd/cluster/myseekdb_primary | running | +------------------+-------------------------------------------+-----------------+查看 seekdb 实例具体状态
[admin@test001 ~]$ obd seekdb display myseekdb_primary输出如下:
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连接 seekdb 实例
您可复制
obd seekdb display命令中输出的连接串连接 seekdb 实例。obclient -h10.10.10.1 -P2881 -uroot -p'********' -Doceanbase -A输出如下,成功使用 root 用户登录 seekdb 实例。
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 命令组。
查看 seekdb 实例列表
obd seekdb list查看 seekdb 实例状态,以部署名为
myseekdb为例obd seekdb display myseekdb修改实例参数
obd 支持通过
obd cluster命令组管理 seekdb 实例,您可执行如下命令打开配置文件,修改 seekdb 实例配置。obd cluster edit-config myseekdb修改配置并保存退出后,obd 会告知如何使得此次修改生效,复制 obd 输出的命令即可。保存修改后输出如下:
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为例obd seekdb stop myseekdb销毁已部署的 seekdb 实例,以部署名为
myseekdb为例obd seekdb destroy myseekdb
配置文件示例
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