#单机(主备)部署

单机(主备)部署包含如下具体的部署形态和场景:

部署形态 部署场景
单节点
一主一备
一主多备
级联备
双复制组主备
yashan模式/mysql模式
单一网段/多网段

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

# 安装场景说明

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

# mysql模式

按mysql模式部署的YashanDB将会运行于与MySQL高度兼容的语法模式,安装完成后要求以MySQL而非YashanDB的语法格式才操作使用数据库。

如确定使用此模式安装,您需要在示例安装过程的【步骤1:生成配置文件】的对应命令中增加 --mode mysql 选项,例如:

$ ./bin/yasboot package se gen --cluster yashandb --recommend-param \
-u yashan -p yashan_password --ip 192.168.1.2 --port 22 \
--install-path /data/yashan/yasdb_home  \
--data-path /data/yashan/yasdb_data \
--log-path /data/yashan/log \
--begin-port 1688 \
--mode mysql

之后的步骤无区别。

指定 --mode mysql 选项后,生成的配置文件中的相关变化如下(yashandb.toml文件名称来自于示例安装命令中指定的集群名称,如您指定了不同的名称,此处文件名称将相应不同):

...
mode = "MYSQL"          # 数据库服务端语法模式被设置为MYSQL
...
table_type = "HEAP"     # 主要的业务表类型,mysql模式只能为HEAP表
...

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

  [[group.node]]
    ...
    mysql_addr = "192.168.1.2:1690" # MySQL协议的监听地址,仅mysql模式才有该参数
    ...
    [group.node.config] 
      ...
      EMPTY_STRING_AS_NULL = false  # 数据库配置参数,空字符串不等于NULL表示mysql模式,不允许手动修改
      ...
    [group.node.mysql_config] # 可在此项目下配置所有mysql模式下的全局变量

# 多网段

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

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

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

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

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

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

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

之后的步骤无区别。

# 单节点部署

部署单节点形态的YashanDB将在一台指定的服务器上创建一个独立的数据库实例。

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

$ cd /home/yashan/install

# 步骤1:生成配置文件

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

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

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

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

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

    $ ./bin/yasboot package se gen --cluster yashandb --recommend-param \
    -u yashan -p yashan_password --ip 192.168.1.2 --port 22 \
    --install-path /data/yashan/yasdb_home  \
    --data-path /data/yashan/yasdb_data \
    --log-path /data/yashan/log \
    --begin-port 1688 
    

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

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

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

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

    Caution:

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

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

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

# 步骤2:执行安装

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

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

# 步骤3:部署数据库

执行如下命令,部署数据库。

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

Note:

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

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

task completed, status: SUCCESS

# 步骤4:配置环境变量

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

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

# 进入环境变量文件所在目录,例如/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

# 步骤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 | db        | 1-1:1  | 25283 | open            | normal          | primary       | 192.168.1.2:1688  | -           | /data/yashan/yasdb_data/db-1-1 |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------------+-------------+--------------------------------+
    
  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:

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

# 一主一备部署

部署一主一备形态的YashanDB将在两个服务器节点上创建数据库实例,分别为主库和备库角色,对外提供读写(主库)和只读(备库)服务。

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

$ cd /home/yashan/install

# 步骤1:生成配置文件

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

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

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

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

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

    请注意--ip后输入的地址顺序决定了默认的主备角色,系统以输入的第一个IP地址作为主库节点。

    $ ./bin/yasboot package se 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
    

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

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

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

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

    Caution:

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

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

    参数项 调整说明
    [om]下的hostid和LISTEN_ADDR yasom服务主机标识,IP地址和监听端口
    请检查确保主机标识和IP地址为主库所在节点
    请检查确保监听端口号与实际开放的端口号一致,可修改为实际值
    所有[host.yasagent]下的LISTEN_ADDR yasagent服务IP地址和监听端口
    请检查确保监听端口号与实际开放的端口号一致,可修改为实际值

# 步骤2:执行安装

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

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

# 步骤3:部署数据库

执行如下命令,部署数据库。

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

Note:

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

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

task completed, status: SUCCESS

# 步骤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. 以安装用户登录当前环境中的其他服务器,重复上述操作生效环境变量。

# 步骤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 | db        | 1-1:1  | 25283 | open            | normal          | primary       | 192.168.1.2:1688  | -           | /data/yashan/yasdb_data/db-1-1 |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------------+-------------+--------------------------------+
    | host0002 | db        | 1-2:2  | 31194 | open            | normal          | standby       | 192.168.1.3:1688  | 1-1:1       | /data/yashan/yasdb_data/db-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:

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

# 步骤7:开启自动选主(可选)

在一主一备的部署形态下,如需开启自动选主,请参照一主一备yasom仲裁选主文档中所述操作指导进行配置。

# 一主多备部署

部署一主多备形态的YashanDB将在多个服务器节点上创建数据库实例,分别为主库和备库角色,对外提供读写(主库)和只读(备库)服务。

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

$ cd /home/yashan/install

# 步骤1:生成配置文件

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

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

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

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

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

    请注意--ip后输入的地址顺序决定了默认的主备角色,系统以输入的第一个IP地址作为主库节点。多个IP地址以,逐一输入,连续IP地址则可以使用范围格式输入,例如192.168.1.[2-4]。

    以下命令以一主两备为例,请根据实际情况调整参数。

    $ ./bin/yasboot package se gen --cluster yashandb --recommend-param \
    -u yashan -p yashan_password --ip 192.168.1.2,192.168.1.3,192.168.1.4 --port 22 \
    --install-path /data/yashan/yasdb_home  \
    --data-path /data/yashan/yasdb_data \
    --log-path /data/yashan/log \
    --begin-port 1688 --node 3
    

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

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

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

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

    Caution:

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

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

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

# 步骤2:执行安装

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

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

# 步骤3:部署数据库

执行如下命令,部署数据库。

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

Note:

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

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

task completed, status: SUCCESS

# 步骤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. 以安装用户登录当前环境中的其他服务器,重复上述操作生效环境变量。

# 步骤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 | db        | 1-1:1  | 25283 | open            | normal          | primary       | 192.168.1.2:1688  | -           | /data/yashan/yasdb_data/db-1-1 |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------------+-------------+--------------------------------+
    | host0002 | db        | 1-2:2  | 31194 | open            | normal          | standby       | 192.168.1.3:1688  | 1-1:1       | /data/yashan/yasdb_data/db-1-2 |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------------+-------------+--------------------------------+
    | host0003 | db        | 1-3:3  | 13384 | open            | normal          | standby       | 192.168.1.4:1688  | 1-1:1       | /data/yashan/yasdb_data/db-1-3 |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------------+-------------+--------------------------------+
    
  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

# 步骤1:生成配置文件

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

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

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

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

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

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

    此外,--node选项的值将作为主+备的数量,--cascade-node选项的值将作为级联备的数量,--cascade-parent选项的值用于定位级联备的上级备库,该值表示--ip选项所输入IP地址从0开始的索引。

    以下命令以一主一备一级联备为例,请根据实际情况调整参数。

    $ ./bin/yasboot package se gen --cluster yashandb \
    -u yashan -p yashan_password --ip 192.168.1.[2-4] --port 22  \
    --install-path /data/yashan/yasdb_home  \
    --data-path /data/yashan/yasdb_data \ 
    --log-path /data/yashan/log \
    --begin-port 1688 \
    --node 2 \
    --cascade-node 1 --cascade-parent 1
    

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

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

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

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

    Caution:

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

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

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

# 步骤2:执行安装

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

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

# 步骤3:部署数据库

执行如下命令,部署数据库。

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

Note:

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

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

task completed, status: SUCCESS

# 步骤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. 以安装用户登录当前环境中的其他服务器,重复上述操作生效环境变量。

# 步骤5:检查安装结果

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

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

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

    回显信息示例如下:

    如下输出在多网段场景中完全一致。

    +--------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | hostid   | node_type | nodeid | pid   | instance_status | database_status | database_role | source_node | listen_address  | data_path                        |
    +--------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | host0001 | db        | 1-1:1  | 73152 | open            | normal          | primary       | -           | 192.168.1.2:1688 | /data/yashan/yasdb_data/db-1-1  |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------+------------------+---------------------------------+
    | host0002 | db        | 1-2:2  | 73211 | open            | normal          | standby       | 1-1:1       | 192.168.1.3:1688 | /data/yashan/yasdb_data/db-1-2  |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------+------------------+---------------------------------+
    | host0003 | db        | 1-3:3  | 73403 | open            | normal          | standby       | 1-2:2       | 192.168.1.4:1688 | /data/yashan/yasdb_data/db-1-3  |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------+------------------+---------------------------------+
    
  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:

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

# 双复制组主备部署

双复制组主备部署将数据库集群划分为分为主复制组和备复制组,每个组对应的服务器安装在不同的地域/机房。其中,主复制组应提供3个及以上节点,以部署为一主多备形态;备复制组应提供2个及以上节点,以部署为一个备库+级联备的形态。

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

$ cd /home/yashan/install

# 步骤1:生成配置文件

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

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

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

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

    以下所展示的命令示例包含了命令的必输入选项,以及我们建议您输入的选项,请根据实际情况自定义选项参数。 请注意--ip选项后面的值应按照主复制组主、主复制组备、备复制组备、备复制组级联备的顺序进行输入。多个IP地址以,逐一输入,连续IP地址则可以使用范围格式输入,例如192.168.1.[2-4]。

    此外,对于双复制组主备部署,--group选项值应输入为2,--node选项的值将作为主复制组中的主+备数量,--standby-node选项的值将作为备复制组中的备+级联备的数量。

    以下命令以主复制组一主两备,备复制组一备三级联备为例,请根据实际情况调整参数。

    $ ./bin/yasboot package se gen --cluster yashandb \
    -u yashan -p yashan_password  \
    --ip 192.168.1.2,192.168.1.3,192.168.1.4,192.168.10.5,192.168.10.6,192.168.10.7 --port 22  \
    --install-path /data/yashan/yasdb_home  \
    --data-path /data/yashan/yasdb_data \
    --log-path /data/yashan/log \
    --begin-port 1688 \
    --group 2 --node 3 --standby-node 3
    

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

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

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

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

    Caution:

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

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

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

# 步骤2:执行安装

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

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

# 步骤3:部署数据库

执行如下命令,部署数据库。

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

Note:

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

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

task completed, status: SUCCESS

# 步骤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. 以安装用户登录当前环境中的其他服务器,重复上述操作生效环境变量。

# 步骤5:检查安装结果

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

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

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

    回显信息示例如下:

    如下输出在多网段场景中完全一致。

    +----------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | hostid   | node_type | nodeid | pid   | instance_status | database_status | database_role | source_node | listen_address   | data_path                         |
    +----------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | host0001 | db        | 1-1:1  | 73132 | open            | normal          | primary       | -           | 192.168.1.2:1688  | /data/yashan/yasdb_data/db-1-1    |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------+-------------------+-----------------------------------+
    | host0002 | db        | 1-2:2  | 73199 | open            | normal          | standby       | 1-1:1       | 192.168.1.3:1688  | /data/yashan/yasdb_data/db-1-2    |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------+-------------------+-----------------------------------+
    | host0003 | db        | 1-3:3  | 73201 | open            | normal          | standby       | 1-1:1       | 192.168.1.4:1688  | /data/yashan/yasdb_data/db-1-3    |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------+-------------------+-----------------------------------+
    | host0004 | db        | 2-1:4  | 73362 | open            | normal          | standby       | 1-1:1       | 192.168.10.5:1688 | /data/yashan/yasdb_data/db-2-1    |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------+-------------------+-----------------------------------+
    | host0005 | db        | 2-2:5  | 73435 | open            | normal          | standby       | 2-1:4       | 192.168.10.6:1688 | /data/yashan/yasdb_data/db-2-2    |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------+-------------------+-----------------------------------+
    | host0006 | db        | 2-3:6  | 73499 | open            | normal          | standby       | 2-1:4       | 192.168.10.7:1688 | /data/yashan/yasdb_data/db-2-3    |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+-------------+-------------------+-----------------------------------+
    
  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
交流