命令行模式部署

命令行模式通过文本菜单逐步引导完成安装,支持数字输入进行选择操作,无需额外依赖,适用于无图形化环境。

安装过程中内置参数实时校验,配置有误时自动提示重新输入,支持安全模式与非安全模式,部署完成后可选择立即启动数据库。

前提条件

系统要求:

  • 待部署节点的硬件、操作系统和软件依赖满足部署准备要求。
  • 网络设置:
    • 各节点间网络联通。
    • 节点所在机器位于同一机房内。
    • 物理机器间网络延迟不高于 50 ms。
    • 各节点时钟相差不大于 500 ms。
    • 各节点已预留 KaiwuDB 服务所需端口。
  • 已获取 KaiwuDB 安装程序(.run 文件)。

用户权限要求:

  • 安装用户为 root 用户或已配置 sudo 免密的普通用户。

  • 使用容器安装程序部署时,如果安装用户为非 root 用户,需要通过以下命令将用户添加到 docker 组:

    sudo usermod -aG docker $USER
    

步骤

  1. 登录待部署节点,将 .run 安装程序复制到安装目录,并赋予执行权限:

    chmod +x KaiwuDB-*.run
    
  2. 执行以下命令,以命令行模式启动安装程序:

    ./KaiwuDB-*.run -c
    # 或者
    ./KaiwuDB-*.run --cli
    
  3. 安装程序启动后,进入主功能菜单,输入 1 选择安装 KaiwuDB:

    1. 安装 KaiwuDB
    2. 卸载 KaiwuDB
    3. 安装 KaiwuDB 并加入集群
    4. 升级节点
    5. 退出
    
    请输入操作 [1-5]:
    
  4. 输入 1 选择单机模式:

    1. 单机安装
    2. 单副本集群
    3. 两副本集群
    4. 三副本集群
    5. 返回主菜单
    
    请选择:
    请输入节点数量(>=3):
    
  5. 输入待安装的节点数量,例如输入 4 表示安装4个节点。

    提示

    两副本集群模式支持>=3个部署,允许设置多个仲裁节点,数据节点数量需满足>=2。

  6. 若第4步选择单副本、三副本集群或两副本集群,可以选择快速安装 or 高级自定义安装。

    1. 快速安装
    2. 高级自定义安装
    
    请选择安装方式:
    

    快速安装:提供统一配置文件模板,每台服务器上只能部署一个节点,且各个节点的安全模式、adminUI 端口、服务端口、数据传输端口以及数据目录等均保持一致。

    [global]
    # 是否开启安全模式
    secure_mode=tls
    # adminui 端口
    rest_port=8080
    # 数据库服务端口
    kaiwudb_port=26257
    # 数据传输端口
    brpc_port=27257
    # 数据目录
    data_root=/var/lib/kaiwudb
    [node1]
    host=172.17.0.3
    # ssh 连接端口
    port=22
    # ssh 连接用户
    user=admin
    # ssh 连接密码
    passwd=******
    [node2]
    host=172.17.0.4
    # ssh 连接端口
    port=22
    # ssh 连接用户
    user=admin
    # ssh 连接密码
    passwd=******
    [node3]
    host=172.17.0.5
    # ssh 连接端口
    port=22
    # ssh 连接用户
    user=admin
    # ssh 连接密码
    passwd=******
    [node4]
    host=172.17.0.6
    # ssh 连接端口
    port=22
    # ssh 连接用户
    user=admin
    # ssh 连接密码
    passwd=******
    

    高级自定义安装:进入安全模式选择菜单,选择安全模式后,逐节点进行信息配置,每个节点的 adminUI 端口、服务端口、数据传输端口以及数据目录均可单独设置。

    1. INSECURE
    2. TLS
    3. TLCP
    
    请选择安全模式:
    

    选择安全模式后,进入节点配置菜单:

    请选择需要编辑配置的节点:
    1. 节点 1
    2. 节点 2
    3. 节点 3
    4. 开始安装
    
    请选择节点:
    

    输入节点后,进入节点信息编辑界面:

    [global]
    # adminui 端口
    rest_port=8080
    # 数据库服务端口
    kaiwudb_port=26257
    # 数据传输端口
    brpc_port=27257
    # 数据目录
    data_root=/var/lib/kaiwudb
    [node]
    host=127.0.0.1
    # ssh 连接端口
    port=22
    # ssh 连接用户
    user=admin
    # ssh 连接密码
    passwd=******
    

    如果选择安装两副本集群,节点信息编辑页面如下:

    [global]
    # adminui 端口
    rest_port=8080
    # 数据库服务端口
    kaiwudb_port=26257
    # 数据传输端口
    brpc_port=27257
    # 数据目录
    data_root=/var/lib/kaiwudb
    # 是否为仲裁节点
    arbiter=false
    [node]
    host=127.0.0.1
    # ssh 连接端口
    port=22
    # ssh 连接用户
    user=admin
    # ssh 连接密码
    passwd=******
    

    所有节点信息配置完成后,输入 4 开始安装。

    参数说明:

    参数说明
    secure_mode安全模式,支持以下取值:
    - insecure:非安全模式。
    - tls:(默认)TLS 安全模式。
    - tlcp:TLCP 安全模式。
    开启安全模式后,KaiwuDB 自动生成相应证书,存放于 /etc/kaiwudb/certs 目录。
    rest_portKaiwuDB Web 服务端口,默认为 8080。
    kaiwudb_portKaiwuDB 服务端口,默认为 26257。
    brpc_port时序引擎间的数据传输端口,用于节点间通信,默认为 27257。
    data_root数据目录,默认为 /var/lib/kaiwudb。
    arbiter仲裁节点设置,默认 false
    host节点 IP 地址,需确保各节点间网络可达。
    port远程节点的 SSH 服务端口。各节点的 SSH 服务端口必须相同。
    user远程节点的 SSH 登录用户。各节点的 SSH 登录用户必须相同。
    passwd远程节点的 SSH 登录密码。各节点的 SSH 登录密码必须相同。
  7. 选择是否为所有用户安装 KaiwuDB:

    是否为所有用户安装:(y/N)
    

    如果使用快速安装且安装两副本集群,会进入选择仲裁节点页面,输入仲裁节点 ip,多个 ip 之间使用,或;或空格进行分隔:

    请选择仲裁节点(172.17.0.5 172.17.0.3 172.17.0.4 172.17.0.6):172.17.0.3 172.17.0.4:
    
  8. 安装过程中终端会实时显示安装进度。出现错误时,可以通过查看安装目录 log 目录下的日志文件获取详细信息。

  9. 所有节点部署完成后,根据提示选择是否初始化集群:

    是否初始化集群:(y/N)
    
    • 输入 y:系统自动初始化 KaiwuDB 集群,初始化完成后提示 30 天试用期, 建议及时完成激活,具体激活步骤,参见许可证管理。

    • 输入 N:跳过初始化,后续需手动初始化集群:

      systemctl start kaiwudb
      

      提示

      多副本集群初始化和启动大约需要 10 秒左右时间。在此期间,如果有节点死亡,可能会导致集群无法触发高可用机制。

  10. 在主功能菜单,输入 5 退出部署流程。

  11. 使用以下任一方式查看服务或集群状态:

    # 查看服务状态
    systemctl status kaiwudb
    
    # 查看集群状态
    kw-status
    

    集群状态返回字段说明:

    字段描述
    id节点 ID。
    address节点地址。
    sql_addressSQL 地址。
    build节点运行的 KaiwuDB 版本。
    started_at节点启动的日期和时间。
    updated_at节点状态更新的日期和时间。节点正常时,每 10 秒左右记录一次新状态;节点异常时,更新信息可能会有所滞后。
    locality节点 ID。
    start_mode节点启动模式。
    is_available / is_live均为 true 表示节点处于正常状态;均为 false 表示节点处于异常状态。
    node_mode节点角色。未启用双副本模式时,所有节点均显示 normal;启用后,仲裁节点显示 arbiter,数据节点显示 normal。
  12. (可选)配置 KaiwuDB 开机自启动。

    systemctl enable kaiwudb
    

    说明

    系统重启后,如果当前节点与其他节点时钟相差大于 500 ms,可能导致 KaiwuDB 自启动失败。需先完成时钟同步,再手动启动 KaiwuDB。

  13. 可使用英文界面进行安装:

    • 设置语言环境
    LANG=en_US
    
    • 执行步骤2安装命令后,安装界面均以英文显示
  14. 可使用配置文件 deploy.cfg 进行静默部署:

    --install /path/to/deploy.cfg
    
  15. 执行 kw-sql 使用数据库部署用户登录数据库或者通过以下任一方式连接和管理 KaiwuDB: