#共享集群部署

共享集群部署包含如下具体的部署形态和场景:

部署形态 部署场景
单集群
主备集群
单一网段/多网段
SCAN和VIP

本文第二部分所述各部署形态的安装过程将默认按公网私网位于同一网段内的场景进行示例演示。请仔细阅读本文第一部分对各种安装场景的说明,并参照指导对示例命令进行调整后再运行安装。

# 安装场景说明

请确认您的安装场景,进入对应章节查看。

# 多网段

请查阅组网规划文档了解我们对YashanDB公网和私网的定义和划分建议。

如您在网络准备过程中,已将公网和私网分属到不同的物理网段(即一台服务器可能拥有不同网段的多个IP地址),这将会影响到示例安装过程的【步骤1:生成配置文件】的对应命令中如下安装参数的值选择:

  • --ip:此参数值为安装登录服务器IP地址,也是默认的数据库对外监听地址,请设置为公网IP地址。

  • --listen-cidr: 数据库监听地址所在网段,一般无需输入,采用默认值,即使用--ip输入IP地址所在的网段。

  • --inter-cidr:此参数值为集群实例间通信地址所在网段,在多网段场景中可将其设置为私网网段,以生成私网地址。

  • --replica-cidr:此参数值为主备复制链路地址所在网段,在多网段场景中可将其设置为私网网段,以生成私网地址。

    当主备集群的主备复制地址位于不同网段时,不可使用该选项,而应通过如下修改配置文件的方式分别进行指定(yashandb.toml文件名称来自于示例安装命令中指定的集群名称,如您指定了不同的名称,此处文件名称将相应不同):

    ## 清空REPLICATION_ADDR参数和CLUSTER_INTERCONNECT参数中的公网地址,并在配置文件最下方增加下述信息,注意hostid与IP地址的对应
    ...
        CLUSTER_INTERCONNECT = ":1689"
    ...
        REPLICATION_ADDR = ":1690"
    ...
        CLUSTER_INTERCONNECT = ":1689"
    ...
        REPLICATION_ADDR = ":1690"
    ...
    [[host]]
    hostid = "host0001"
    [host.yasagent]
    [host.yasdb_ip]
        inter_ip = "172.16.1.2"
        inter_url = "172.16.1.2"
        replica_ip = "172.16.1.2"
    
    [[host]]
    hostid = "host0002"
    [host.yasagent]
    [host.yasdb_ip]
        inter_ip = "172.16.1.3"
        inter_url = "172.16.1.3"
        replica_ip = "172.16.1.3"
    

之后的步骤无区别。

# SCAN和VIP

共享集群的SCAN和VIP功能可组合使用,并可在示例安装过程的【步骤1:生成配置文件】的对应命令中通过如下选项指定安装。

  • --public-network:无论部署SCAN还是VIP,都必须指定本选项,用于配置公网网段。

  • --scanname:当使用SCAN功能时,使用此参数指定SCAN域名,须为已在DNS服务器中配置的域名。

  • --vips:当使用VIP功能时,使用此参数指定已预留的各虚拟IP地址列表。

以下为同时指定上述选项时,在配置文件中所生成的参数项。

...
scan_port = "1688"          # SCAN监听端口,默认为LISTEN_ADDR的端口值
scanname = "scan.example.com"  # SCAN域名 
...

[[group]]
  ...
  [group.config]        
    ...

  [[group.node]]
    ...
    vip = "192.168.1.62/24" # VIP地址,每个节点对应一个
    ...

主备集群部署中,由于主备集群的网段、SCAN域名、VIP信息均不相同,按上述选项值在配置文件中生成的备集群相应值均需手工调整为实际值。

之后的步骤无区别。

未确定使用SCAN或VIP功能时,可不指定上述选项安装YashanDB,YashanDB支持在已有集群上增加、修改及删除SCAN或VIP功能。

# 共享集群部署

请以安装用户(以yashan为例)登录到已下载软件包的服务器(本文以192.168.1.2为例),并进入软件包所在的安装目录(以/home/yashan/install为例)。

$ cd /home/yashan/install

请提前获取存储设备配置信息,用于指定--disk-found-path、--system-data以及--data参数。

# 查询绑定的磁盘路径
$ ll /dev/yfs

# 步骤1:生成配置文件

本步骤用于生成YashanDB产品的两个重要的配置文件:hosts.toml和{集群名称}.toml,其中,集群名称来自于--cluster选项的参数值,本文以yashandb为例,该配置文件在下文均称为yashandb.toml。

hosts.toml和yashandb.toml中定义了YashanDB的部署信息和建库信息,也被用于产品之后的扩缩容和升级等操作,因此一旦确认(即部署完成并投入运行)后请不要进行手工调整。

在未进行下一步骤前,本步骤的命令可重复运行,每次运行将直接覆盖之前生成的hosts.toml和yashandb.toml文件。

  1. 执行yasboot package ce gen命令生成配置文件,该命令的参数全集请查阅yasboot文档

    以下所展示的命令示例包含了命令的必输入选项,以及我们建议您输入的选项,请根据实际情况自定义选项参数。

    $ ./bin/yasboot package ce gen --cluster yashandb \
    -u yashan -p yashan_password --ip 192.168.1.2,192.168.1.3 --port 22 \
    --install-path /data/yashan/yasdb_home \
    --data-path /data/yashan/yasdb_data \
    --log-path /data/yashan/log \
    --begin-port 1688 --node 2 \
    --disk-found-path /dev/yfs  \
    --system-data /dev/yfs/sys0,/dev/yfs/sys1,/dev/yfs/sys2 \    
    --data /dev/yfs/data0
    

    执行完毕后,当前目录下将生成hosts.toml和yashandb.toml两个配置文件。

  2. 请确认您在上一步所输入的生成配置文件命令是否对应了您所需要的安装场景

    如需修改场景,可按对应场景的操作指导调整上一步所输入的生成配置文件命令,重新运行,再次生成配置文件。

  3. 根据实际需要,手动修改配置文件中的相关参数。

    Caution:

    不建议删除文件中任何行,否则可能导致后续安装过程报错或所搭建的环境后续无法进行扩展配置。

    以下列示部分可能需要调整的参数项,完整的配置文件内容说明请查阅配置文件模板介绍,请根据实际情况选择参数项调整值。

    参数项 调整说明
    所有的LISTEN_ADDR yasom服务和yasagent服务所在地址和监听端口,请检查确保与实际开放的端口号一致,可修改为实际值

# 步骤2:执行安装

执行如下命令,执行软件包安装。

$ ./bin/yasboot package install -t hosts.toml
参数 说明
-t, --toml 部署数据库集群的hosts.toml路径

# 步骤3:数据库部署

  1. 执行如下命令,部署数据库:

    $ ./bin/yasboot cluster deploy -t yashandb.toml --yfs-force-create -p sys_password
    
    参数 说明
    -t, --toml 部署数据库集群的toml文件路径
    --yfs-force-create YFS强制创建diskgroup
    -p, --sys-password 设置数据库超级管理员sys用户的密码,配置要求如下:
    * 密码长度为8 - 64位
    * 密码中不能包含对应的数据库用户名称
    * 密码必须同时包含数字、字母和特殊字符
    * OS命令相关的特殊字符(例如@/.!$'等)需进行转义

    Note:

    可通过指定-d, --child参数展示任务以及子任务信息,从而了解部署进度。

    返回如下信息表示已成功部署。

    task completed, status: SUCCESS
    
  2. 执行如下命令,重启数据库:

    $ ./bin/yasboot cluster restart -c yashandb
    

# 步骤4:配置环境变量

部署成功后,--install-path(例如/data/yashan/yasdb_home)指定的目录下会生成子目录{version_number}/conf,该目录下会自动生成YashanDB相关的环境变量文件{集群名称}.bashrc,需将其应用于操作系统。

  1. 执行如下命令,生效环境变量。

    # 进入环境变量文件所在目录,例如/data/yashan/yasdb_home/{version_number}/conf
    $ cd /data/yashan/yasdb_home/{version_number}/conf
    
    # 生效环境变量
    $ cat yashandb.bashrc >> ~/.bashrc
    $ source ~/.bashrc
    
    # 校验环境变量是否生效(回显信息中的路径请以实际为准)
    $ echo $YASDB_DATA
    /data/yashan/yasdb_data/db-1-1
    
  2. 执行如下命令,配置$YASCS_HOME环境变量。

    # 根据前文安装示例实例1-1的路径示例值如下,但节点路径应以实际为准
    $ export YASCS_HOME=/data/yashan/yasdb_data/ycs/ce-1-1
    
    # 校验环境变量是否生效(回显信息中的路径请以实际为准)
    $ echo $YASDB_DATA
    /data/yashan/yasdb_data/ce-1-1
    
  3. 以安装用户登录当前环境中的其他服务器,重复上述操作配置所有环境变量。

# 步骤5:检查安装结果

若连接报错或执行SQL语句报错,请根据错误提示信息检查安装步骤,或咨询我们的技术支持。

  1. 执行如下命令,查看数据库状态。

    $ yasboot cluster status -c yashandb -d -p sys_password
    

    回显信息示例如下:

    如下输出在上述各场景中完全一致。

    +--------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | hostid   | node_type | nodeid | pid   | instance_status | database_status | database_role | listen_address    | source_node | data_path                      |
    +--------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | host0001 | ce        | 1-1:1  | 22573 | open            | normal          | primary       | 192.168.1.2:1688  | -           | /data/yashan/yasdb_data/ce-1-1 |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------------+-------------+--------------------------------+
    | host0002 | ce        | 1-2:2  | 16935 | open            | normal          | primary       | 192.168.1.3:1688  | -           | /data/yashan/yasdb_data/ce-1-2 |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------------+-------------+--------------------------------+
    
  2. 使用yasql工具连接数据库,查看实例状态。

    $ yasql sys/********@192.168.1.2:1688
    SQL> SELECT STATUS FROM V$INSTANCE;
    
    STATUS        
    ------------- 
    OPEN        
    
    SQL> SELECT database_name FROM v$database;
    
    DATABASE_NAME                                                    
    ---------------------------------------------------------------- 
    yashandb   
    

# 步骤6:启动守护进程

执行如下命令,启动守护进程。

$ yasboot monit start --cluster yashandb

Note:

后续使用中服务器重启开机后需手动启动守护进程,守护进程会自动拉起数据库相关进程,从而启动数据库。为简化运维,可将守护进程配置为开机自启动间接实现数据库开机自启动,具体操作请查阅配置开机自启动

# 主备集群部署

请以安装用户(以yashan为例)登录到已下载软件包的服务器(本文以192.168.1.2为例),并进入软件包所在的安装目录(以/home/yashan/install为例)。

$ cd /home/yashan/install

请提前获取存储设备配置信息,用于指定--disk-found-path、--system-data以及--data参数。

# 查询绑定的磁盘路径
$ ll /dev/yfs

# 步骤1:生成配置文件

本步骤用于生成YashanDB产品的两个重要的配置文件:hosts.toml和{集群名称}.toml,其中,集群名称来自于--cluster选项的参数值,本文以yashandb为例,该配置文件在下文均称为yashandb.toml。

hosts.toml和yashandb.toml中定义了YashanDB的部署信息和建库信息,也被用于产品之后的扩缩容和升级等操作,因此一旦确认(即部署完成并投入运行)后请不要进行手工调整。

在未进行下一步骤前,本步骤的命令可重复运行,每次运行将直接覆盖之前生成的hosts.toml和yashandb.toml文件。

  1. 执行yasboot package ce gen命令生成配置文件,该命令的参数全集请查阅yasboot文档

    以下所展示的命令示例包含了命令的必输入选项,以及我们建议您输入的选项,请根据实际情况自定义选项参数。

    --ip选项后面的值应按照主备顺序输入,多个IP地址以,逐一输入,连续IP地址则可以使用范围格式输入,例如192.168.1.[2-3]。

    --group选项值应输入共享集群数量,--node选项的值将作为主集群中的节点数量,--standby-node选项的值将作为备集群中的节点数量。

    以下命令以一主一备两个共享集群进行部署,请根据实际情况调整参数。

    $ ./bin/yasboot package ce gen --cluster yashandb \
    -u yashan -p yashan_password --ip 192.168.1.2,192.168.1.3,192.168.10.4,192.168.10.5 --port 22 \
    --install-path /data/yashan/yasdb_home \
    --data-path /data/yashan/yasdb_data \
    --log-path /data/yashan/log \
    --begin-port 1688 \
    --disk-found-path /dev/yfs \
    --system-data /dev/yfs/sys0,/dev/yfs/sys1,/dev/yfs/sys2 \
    --data /dev/yfs/data0 \
    --node 2 --group 2 --standby-node 2
    

    执行完毕后,当前目录下将生成hosts.toml和yashandb.toml两个配置文件。

  2. 请确认您在上一步所输入的生成配置文件命令是否对应了您所需要的安装场景

    如需修改场景,可按对应场景的操作指导调整上一步所输入的生成配置文件命令,重新运行,再次生成配置文件。

  3. 根据实际需要,手动修改配置文件中的相关参数。

    Caution:

    不建议删除文件中任何行,否则可能导致后续安装过程报错或所搭建的环境后续无法进行扩展配置。

    以下列示部分可能需要调整的参数项,完整的配置文件内容说明请查阅配置文件模板介绍,请根据实际情况选择参数项调整值。

    参数项 调整说明
    所有的LISTEN_ADDR yasom服务和yasagent服务所在地址和监听端口,请检查确保与实际开放的端口号一致,可修改为实际值

# 步骤2:执行安装

执行如下命令,执行软件包安装。

$ ./bin/yasboot package install -t hosts.toml
参数 说明
-t, --toml 部署数据库集群的hosts.toml路径

# 步骤3:数据库部署

  1. 执行如下命令,部署数据库:

    $ ./bin/yasboot cluster deploy -t yashandb.toml --yfs-force-create -p sys_password
    
    参数 说明
    -t, --toml 部署数据库集群的toml文件路径
    --yfs-force-create YFS强制创建diskgroup
    -p, --sys-password 设置数据库超级管理员sys用户的密码,配置要求如下:
    * 密码长度为8 - 64位
    * 密码中不能包含对应的数据库用户名称
    * 密码必须同时包含数字、字母和特殊字符
    * OS命令相关的特殊字符(例如@/.!$'等)需进行转义

    Note:

    可通过指定-d, --child参数展示任务以及子任务信息,从而了解部署进度。

    返回如下信息表示已成功部署。

    task completed, status: SUCCESS
    
  2. 执行如下命令,重启数据库:

    $ ./bin/yasboot cluster restart -c yashandb
    

# 步骤4:配置环境变量

部署成功后,--install-path(例如/data/yashan/yasdb_home)指定的目录下会生成子目录{version_number}/conf,该目录下会自动生成YashanDB相关的环境变量文件{集群名称}.bashrc,需将其应用于操作系统。

  1. 执行如下命令,生效环境变量。

    # 进入环境变量文件所在目录,例如/data/yashan/yasdb_home/{version_number}/conf
    $ cd /data/yashan/yasdb_home/{version_number}/conf
    
    # 生效环境变量
    $ cat yashandb.bashrc >> ~/.bashrc
    $ source ~/.bashrc
    
    # 校验环境变量是否生效(回显信息中的路径请以实际为准)
    $ echo $YASDB_DATA
    /data/yashan/yasdb_data/db-1-1
    
  2. 执行如下命令,配置$YASCS_HOME环境变量。

    # 根据前文安装示例实例1-1的路径示例值如下,但节点路径应以实际为准
    $ export YASCS_HOME=/data/yashan/yasdb_data/ycs/ce-1-1
    
    # 校验环境变量是否生效(回显信息中的路径请以实际为准)
    $ echo $YASDB_DATA
    /data/yashan/yasdb_data/ce-1-1
    
  3. 以安装用户登录当前环境中的其他服务器,重复上述操作配置所有环境变量。

# 步骤5:检查安装结果

若连接报错或执行SQL语句报错,请根据错误提示信息检查安装步骤,或咨询我们的技术支持。

  1. 执行如下命令,查看数据库状态。

    $ yasboot cluster status -c yashandb -d -p sys_password
    

    回显信息示例如下:

    如下输出在上述各场景中完全一致。

    +--------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | hostid   | node_type | nodeid | pid   | instance_status | database_status | database_role | listen_address    | source_node | data_path                      |
    +--------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | host0001 | ce        | 1-1:1  | 22573 | open            | normal          | primary       | 192.168.1.2:1688  | -           | /data/yashan/yasdb_data/ce-1-1 |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------------+-------------+--------------------------------+
    | host0002 | ce        | 1-2:2  | 16935 | open            | normal          | primary       | 192.168.1.3:1688  | -           | /data/yashan/yasdb_data/ce-1-2 |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------------+-------------+--------------------------------+
    | host0001 | ce        | 2-1:3  | 19703 | open            | normal          | standby       | 192.168.10.4:1688 | 1-1:1       | /data/yashan/yasdb_data/ce-2-1 |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------------+-------------+--------------------------------+
    | host0002 | ce        | 2-2:4  | 19651 | open            | normal          | standby       | 192.168.10.5:1688 | 1-1:1       | /data/yashan/yasdb_data/ce-2-2 |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------------+-------------+--------------------------------+
    
  2. 使用yasql工具连接数据库,查看实例状态。

    $ yasql sys/********@192.168.1.2:1688
    SQL> SELECT STATUS FROM V$INSTANCE;
    
    STATUS        
    ------------- 
    OPEN        
    
    SQL> SELECT database_name FROM v$database;
    
    DATABASE_NAME                                                    
    ---------------------------------------------------------------- 
    yashandb   
    

# 步骤6:启动守护进程

执行如下命令,启动守护进程。

$ yasboot monit start --cluster yashandb

Note:

后续使用中服务器重启开机后需手动启动守护进程,守护进程会自动拉起数据库相关进程,从而启动数据库。为简化运维,可将守护进程配置为开机自启动间接实现数据库开机自启动,具体操作请查阅配置开机自启动

edit-icon
反馈
coperate-icon
coperate
合作
communication-icon
communicate
交流