跳到主要内容

通过 yum install 部署 seekdb

本文介绍如何通过 yum install 部署 seekdb。

前提条件

在执行本文操作前,您需确认以下信息:

  • 您使用的环境是 RPM 平台系统,目前已验证支持的系统如下。

    • Anolis OS 8.X 版本(内核 Linux 4.19 版本及以上)

    • Anolis OS 23.X 版本(内核 Linux 6.6 版本及以上)

    • Centos Linux 7.X、9.X 版本(内核 Linux 4.19 版本及以上)

    • Debian 11、12 和 13 版本(内核 Linux 4.19 版本及以上)

    • openEuler 22.03 和 24.03 版本(内核 Linux 5.10.0 版本及以上)

    • Ubuntu 20.04、22.04 和 24.04 版本(内核 Linux 4.19 版本及以上)

  • 当前环境中 CPU 最低要求 1 核。

  • 当前环境中的可用内存最低为 2G。

  • 您环境中已安装 jq 命令行工具,并正确配置了 systemd 作为系统和服务管理器。

  • 您环境中已安装数据库连接工具(MySQL 客户端或 OBClient 客户端)。

  • 您使用的用户已具有执行 sudo 命令的权限。

部署 seekdb

步骤一:安装 seekdb

根据所用环境能否连接外部网络,分为在线安装和离线安装两种安装方法。

在线安装

  1. 添加 seekdb 镜像源

    [admin@test001 ~]$ sudo yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo
  2. 安装 seekdb

    [admin@test001 ~]$ sudo yum install seekdb obclient

离线安装

  1. 您可从 OceanBase 软件下载中心 下载所需版本的 seekdb 。下载完成后,将安装包复制到您的机器上。推荐您使用最新版本的安装包。

  2. 在安装包所在目录下,执行 rpm 命令安装 seekdb。

    [admin@test001 ~]$ sudo rpm -ivh seekdb-*.rpm

步骤二:启动 seekdb

安装 seekdb 后,您可参照如下步骤启动 seekdb。

  1. (可选)修改配置文件

    您可参照该步骤修改配置文件,未修改的情况下将使用配置文件中的默认配置进行部署。

    [admin@test001 ~]$ sudo vim /etc/oceanbase/seekdb.cnf

    该文件包含的配置项内容如下:

    port=2881
    data-dir=/var/lib/oceanbase/store
    redo-dir=/var/lib/oceanbase/store/redo
    datafile_size=2G
    datafile_next=2G
    datafile_maxsize=50G
    cpu_count=4
    memory_limit=2G
    log_disk_size=2G

    配置文件中的配置项介绍如下表:

    配置项是否必选默认值说明
    port可选2881seekdb 的 SQL 服务协议端口号。
    redo_dir可选/var/lib/oceanbase/store/redoclog、ilog 和 slog 的目录,建议配置为独立的磁盘。

    说明

    数据盘(默认为 /var/lib/oceanbase/)的可用磁盘空间应当大于 15G。

    data_dir可选/var/lib/oceanbase/store设置存储 SSTable 等数据的目录,建议配置为独立的磁盘。

    说明

    数据盘(默认为 /var/lib/oceanbase/)的可用磁盘空间应当大于 15G。

    datafile_size可选2G指定数据文件(block_file)大小,未配置的情况下以 datafile_disk_percentage 配置项为准,详细介绍请参见 datafile_sizedatafile_disk_percentage
    datafile_next可选2G指定数据文件增长的步长。
    datafile_maxsize可选50G指定数据文件的最大大小。
    cpu_count可选4seekdb 可使用的 CPU 总数,如果设置为 0,将自动检测。
    memory_limit可选2Gseekdb 能从环境中获取的最大内存。
    log_disk_size可选2G用于设置 Redo 日志磁盘的大小,未配置的情况下以log_disk_percentage 配置项为准,详细介绍请参考 log_disk_sizelog_disk_percentage
  2. 启动 seekdb

    [admin@test001 ~]$ sudo systemctl start seekdb
  3. 查看 seekdb 的启动状态

    [admin@test001 ~]$ sudo systemctl status seekdb

    当状态显示为 Service is ready 时,表示 seekdb 已正常启动。

步骤三:连接 seekdb

此处以通过 OBClient 连接 seekdb 为例,命令如下:

[admin@test001 ~]$ obclient -h<IP> -uroot -P<Port> -p<Passwd> -A oceanbase

参数说明:

  • -h:提供 seekdb 连接 IP,使用 systemd 启动的 seekdb 默认 IP 为 127.0.0.1

  • -u:提供 seekdb 的连接账户,格式:用户名。seekdb 实例用户名默认是 root

  • -P:提供 seekdb 连接端口,为 /etc/oceanbase/seekdb.cnfport 的值。

  • -p:提供 seekdb 连接密码,默认为空。

  • -A:表示在 OBClient 连接数据库时不自动获取统计信息。

  • oceanbase:访问的数据库的名称,可以更改为业务数据库名。

管理 seekdb

目前仅支持通过 systemd 对 seekdb 进行启动(start)、停止(stop)以及查看状态(status)操作。

查看 seekdb 状态

可执行如下命令查看 seekdb 状态。

[admin@test001 ~]$ sudo systemctl status seekdb

查看 seekdb 状态有如下几种情况:

  • Active 展示为 active (running),且 Status 展示为 seekdb is ready and running,表示已成功启动 seekdb。

  • Active 展示为 inactive (dead),表示服务已经停止,即 seekdb 已停止。

  • Active 展示为 failed,表示服务发生了错误,需查看日志进行排查。

清除 seekdb

您可参照如下步骤清除通过 systemd 启动的 seekdb 。

  1. 停止 seekdb

    [admin@test001 ~]$ sudo systemctl stop seekdb
  2. 卸载 seekdb

    1. 删除 seekdb 数据库软件包

      在线安装方式下,您可执行如下命令:

      [admin@test001 ~]$ sudo yum erase seekdb 

      package 需替换为待删除的软件包名,您可通过 yum list | grep seekdb 命令查看软件包名。

      离线安装方式下,您可执行如下命令:

      [admin@test001 ~]$ sudo rpm -e seekdb

      package 需替换为待删除的软件包名,您可通过 rpm -qa | grep seekdb 命令查看软件包名。

    2. 删除 seekdb 数据

      执行第一步后,在返回结果中会显示 To clean OceanBase : bash /var/lib/oceanbase/oceanbase_clean.sh,可以通过该命令,完全删除 seekdb。

      执行本步骤删除 seekdb 数据后,您部署的 seekdb 将完全被卸载。

      [admin@test001 ~]$ sudo bash /var/lib/oceanbase/oceanbase_clean.sh