#yasboot package

# package config gen

本命令用于根据输入的各选项生成配置文件。

选项 含义
-c,--cluster 生成的集群名称(必传参数)
-u,--username 主机ssh用户名
--groupname 用户组名称,默认和username相同
-p,--password ssh登录密码
-N,--no-password ssh免密登录
--ip 主机ssh的ip地址
--port 主机ssh连接端口
-i, --install-path 数据库安装路径
-su,--sudo-username 具有sudo权限的ssh用户(用于执行需要sudo权限的命令,例如创建cgroup目录)
-sp,--sudo-password 具有sudo权限的ssh用户密码
no-add-yasdba 不添加安装用户到YASDBA用户组
boot-start-monit 开启自启动monit守护进程(添加启动命令到/etc/rc.local)
--host 主机连接信息表达式
-t, --yas-type 数据库部署的架构类型:
* DE:分布式,默认值
* SE:单机
* CE:共享集群
-d, --deploy-mode 分布式部署的部署模式:
* MINI:最小规模部署,按1MN 1CN 3DN规模部署在同一台主机
* NORMAL:常规部署,根据下述节点规模进行部署
-L,--local 是否本地部署(不需要安装包),默认为false
--ipv6 本地部署是否使用ipv6,默认使用ipv4
--mn 分布式MN类型节点的部署规模,默认为1
--cn 分布式CN类型节点的部署规模,默认为1
--dn 分布式DN组及节点规模,例如1-3表示1一个组3个节点(组内一主两备)
--db 单机db组及节点部署的节点规模,默认为1
--listen-cidr 数据库的监听地址(默认与ip网段一致)
--din-cidr 分布式网络通信链路地址(默认与ip网段一致)
--replica-cidr 主备复制链路地址(默认与ip网段一致)
--begin-port 起始端口1688
--data-path 数据库实例的DATA目录
-f, --force 是否强制部署数据库,强制表示不会检查当前主机运行状态是否能够部署
--ce 共享集群类型节点的部署规模,默认为3
--inter-cidr 共享集群内部网络通信链路地址(默认与ip网段一致)
--ce-data 共享集群数据盘
--ce-vote 共享集群投票盘
--ce-ycr 共享集群ycr盘
--create-cgroup 是否创建单机的资源管理cgroup目录(默认为否)
--cgroup-path 资源管理cgroup目录(默认为/sys/fs/cgroup
--recommend-param 是否开启推荐参数功能
--memory-limit 主机的可使用内存百分比上限
--table-type 主要业务的表类型,可选[HEAP,TAC,LSC],单机默认为HEAP,分布式默认为LSC
  1. 对于IP可以通过192.168.157.[1-3]这种缩写表示192.168.157.1, 192.168.157.2, 192.168.157.3这三个连续的ip地址。
  2. 对于CIDR,可以通过--listen-cidr 0.0.0.0/0,192.168.1.0/22配置多个网段。
  3. 配置了SSH免密可以不输入密码参数。
  4. 此处传入ipv6的ip地址时需要带中括号,如果是链路本地地址还需要带网卡号。
  5. 不支持ipv4地址和ipv6地址混用。但是支持使用ipv4映射ipv6地址,如[::ffff:192.168.157.1],此类地址可以和ipv6或者ipv4同时使用。
$ yasboot package config gen --cluster yashandb -u yashan -p password \
--ip 192.168.157.1,192.168.157.2,192.168.157.3 --port 22 --install-path /var/database/yashan --begin-port 1688
$ yasboot package config gen --cluster yashandb -u yashan -p password \
--ip [fc00:157::129],[fc00:157::130],[fc00:157::131]   --port 22 --install-path /var/database/yashan --begin-port 1688
$ yasboot package config gen --cluster yashandb -u yashan -p password \
--ip [::1],[fe80::20c:29ff:fe75:582b%ens33],[fc00:157::129]  --port 22 --install-path /var/database/yashan --begin-port 1688

上述命令等同于:

$ yasboot package config gen --cluster yashandb -u yashan -p password \
--ip 192.168.157.[1-3] --port 22 --install-path /var/database/yashan --begin-port 1688
$ yasboot package config gen --cluster yashandb -u yashan -p password \
--ip  [fc00:157::[129-131]] --port 22 --install-path /var/database/yashan --begin-port 1688
$ yasboot package config gen --cluster yashandb --host yashan:password@[::1],[fe80::20c:29ff:fe75:582b%ens33],[fc00:157::129]:22:/var/database/yashan --begin-port 1688

使用主机连接信息表达式:

  • 全参数: username:password@ip1,ip2,ip3:port:install-path
  • 配置了SSH免密的情况下password可以为空:username:@ip1,ip2,ip3:port:install-path
  • ip支持通过缩写表示连续ip地址:username:@192.168.157.[1-3]:port:install-path
  • 端口可以省略:username:password@ip1,ip2,ip3:install-path
  • 安装路径可以省略:username:password@ip1,ip2,ip3:port
$ yasboot package config gen -c yashandb \
--host yashan:password@ip1,ip2,...,ipn:22:/var/database/yashan --begin-port 1688

# package se gen

本命令用于根据输入的各选项生成单机架构的配置文件。

选项 含义
-c,--cluster 生成的集群名称(必传参数)
-u,--username 主机ssh用户名
--groupname 用户组名称,默认和username相同
-p,--password ssh登录密码
-N,--no-password ssh免密登录
--ip 主机ssh的ip地址
--port 主机ssh连接端口
-i, --install-path 数据库安装路径
-su,--sudo-username 具有sudo权限的ssh用户(用于执行需要sudo权限的命令,例如创建cgroup目录)
-sp,--sudo-password 具有sudo权限的ssh用户密码
--host 主机连接信息表达式
-L,--local 是否本地部署(不需要安装包),默认为false
--ipv6 本地部署是否使用ipv6,默认使用ipv4
--listen-cidr 数据库的监听地址(默认与ip网段一致)
--begin-port 起始端口1688
--data-path 数据库实例的DATA目录
-f, --force 是否强制部署数据库,强制表示不会检查当前主机运行状态是否能够部署
--node 单机db组及节点部署的节点规模,默认为1
--replica-cidr 主备复制链路地址(默认与ip网段一致)
--create-cgroup 是否创建单机的资源管理cgroup目录(默认为否)
--cgroup-path 资源管理cgroup目录(默认为/sys/fs/cgroup
--recommend-param 是否开启推荐参数功能
--memory-limit 主机的可使用内存百分比上限
--table-type 主要业务的表类型,可选[HEAP,TAC,LSC],默认为HEAP

# package de gen

本命令用于根据输入的各选项生成分布式架构的配置文件。

选项 含义
-c,--cluster 生成的集群名称(必传参数)
-u,--username 主机ssh用户名
--groupname 用户组名称,默认和username相同
-p,--password ssh登录密码
-N,--no-password ssh免密登录
--ip 部署的ip地址
--port 主机ssh连接端口
-i, --install-path 数据库安装路径
-su,--sudo-username 具有sudo权限的ssh用户(用于执行需要sudo权限的命令,例如创建cgroup目录)
-sp,--sudo-password 具有sudo权限的ssh用户密码
--host 主机连接信息表达式
-L,--local 是否本地部署(不需要安装包),默认为false
--ipv6 本地部署是否使用ipv6,默认使用ipv4
--listen-cidr 数据库的监听地址(默认与ip网段一致)
--begin-port 起始端口1688
--data-path 数据库实例的DATA目录
-d, --deploy-mode 分布式部署的部署模式:
* MINI:最小规模部署,按1MN 1CN 3DN规模部署在同一台主机
* NORMAL:常规部署,根据下述节点规模进行部署
-f, --force 是否强制部署数据库,强制表示不会检查当前主机运行状态是否能够部署
--mn 分布式MN类型节点的部署规模,默认为1
--cn 分布式CN类型节点的部署规模,默认为1
--dn 分布式DN组及节点规模,例如1-3表示1一个组3个节点(组内一主两备)
--replica-cidr 主备复制链路地址(默认与ip网段一致)
--din-cidr 分布式网络通信链路地址(默认与ip网段一致)
--recommend-param 是否开启推荐参数功能
--memory-limit 主机的可使用内存百分比上限
--table-type 主要业务的表类型,可选[HEAP,TAC,LSC],默认为LSC

# package ce gen

本命令用于根据输入的各选项生成集群架构的配置文件。

选项 含义
-c,--cluster 生成的集群名称(必传参数)
-u,--username 主机ssh用户名
--groupname 用户组名称,默认和username相同
-p,--password ssh登录密码
-N,--no-password ssh免密登录
--ip 部署的ip地址
--port 主机ssh连接端口
-i, --install-path 数据库安装路径
-su,--sudo-username 具有sudo权限的ssh用户(用于执行需要sudo权限的命令,例如创建cgroup目录)
-sp,--sudo-password 具有sudo权限的ssh用户密码
--host 主机连接信息表达式
-L,--local 是否本地部署(不需要安装包),默认为false
--ipv6 本地部署是否使用ipv6,默认使用ipv4
--listen-cidr 数据库的监听地址(默认与ip网段一致)
--begin-port 起始端口1688
--data-path 数据库实例的DATA目录
-f, --force 是否强制部署数据库,强制表示不会检查当前主机运行状态是否能够部署
--node 共享集群类型节点的部署规模,默认为3
--inter-cidr 共享集群内部网络通信链路地址(默认与ip网段一致)
--data 共享集群数据盘
--vote 共享集群投票盘
--ycr 共享集群ycr盘

# package config join-demo

本命令用于生成托管命令使用的配置文件模板join_demo.toml。

选项 含义
-t, --type 托管集群的类型(SE/DE)(必传参数)
-d, --dir 配置文件生成的路径(默认当前目录)

示例

$ yasboot package config join-demo -t SE

# package upload

本命令用于更新hosts.toml的信息,和上传新的YashanDB软件包。

选项 含义
-t, --toml 更新的toml文件(必传参数)
-i, --install-pkg 新的安装包路径

示例

$ yasboot package upload -t hosts.toml -i yashandb-23.1.0.2.tar.gz

# package install

本命令用于对远程主机执行软件包安装(可通过toml文件配置对全部还是特定主机执行安装),软件包为tar.gz格式。

选项 含义
-i, --install-pkg 软件包文件本地路径(必传参数)
-f, --force 忽略错误并强制安装,默认为false
-t, --toml 要安装软件包的主机相关信息的配置文件
--disable 屏蔽任务进度条展示

示例

$ yasboot package install -i yashandb-23.1.0.2.tar.gz -t hosts.toml

# package uninstall

本命令用于对远程主机上已安装的软件进行卸载(可通过toml文件配置选对全部还是对特定主机执行卸载)。

选项 含义
-c, --cluster 部署YashanDB的集群名(必传参数)
-t, --toml 以ssh方式卸载,需要主机配置文件如hosts.toml
-d, --child 展示任务以及子任务信息
-f, --force 强制卸载,默认false
--disable 屏蔽任务进度条展示

示例

--卸载整个集群
$ yasboot package uninstall -c yashandb

--按配置文件卸载
$ yasboot package uninstall -c yashandb -t hosts.toml

# package upgrade

本命令用于对远程主机上已安装的软件(yasom,yasagent)进行升级。 必须在升级数据库完成后才能执行。

选项 含义
-t, --toml 需要主机配置文件如hosts.toml(必传参数)
--package 升级软件包的绝对路径(必传参数)
-d, --child 展示任务以及子任务信息
--disable 屏蔽任务进度条展示

示例

$ yasboot package upgrade -t hosts.toml -p yashandb-23.1.0.2.tar.gz

# package rollback

本命令用于对远程主机上已安装的软件(yasom,yasagent)进行回滚。

选项 含义
-c, --cluster 部署YashanDB的集群名(必传参数)
-t, --toml 需要主机配置文件如hosts.toml(必传参数)
--disable 屏蔽任务进度条展示

示例

$ yasboot package rollback -c yashandb -t hosts.toml