#共享集群部署

执行安装部署前,请以安装用户(yashan)登录192.168.1.2服务器,并进入/home/yashan/install安装目录。

$ cd /home/yashan/install

# 交互式部署

Note:

在执行交互式部署的过程中,输入相应配置后均需按Enter提交信息(步骤中将不再重复赘述),对于已设置默认值(形如(default: xxx))且无需自定义调整的配置,直接按Enter进入下一步即可。

如需在过程中退出程序,按Ctrl+C即可。

# 步骤1:配置部署信息

  1. 执行如下命令,进入交互式部署程序。

    $ ./bin/yasboot init 
     __   __           _                    ____   ____  
     \ \ / /__ _  ___ | |__    __ _  _ __  |  _ \ | __ ) 
      \ V // _` |/ __|| '_ \  / _` || '_ \ | | | ||  _ \ 
       | || (_| |\__ \| | | || (_| || | | || |_| || |_) |
       |_| \__,_||___/|_| |_| \__,_||_| |_||____/ |____/ 
    
    Welcome to use YashanDB, this script will guide you to deploy YashanDB.
    
  2. 在出现如下信息时,按需输入对应数字选择部署模式。

    • 1:表示采用1台服务器(single-host)部署单库环境,且默认在当前服务器上部署,无需重复输入安装用户名和密码。

    • 2:表示采用多台服务器(multi-host)部署主备环境,要求当前服务器必须是多台服务器之一,且要求所有服务器的安装用户(yashan)具备SSH权限且SSH的用户名、密码以及端口相互一致。

    which installation mode for this deployment:
    1) single-host: install locally, should not use SSH.
    2) multi-host: install YashanDB to multiple hosts, SSH user & password required.
    (default: 1)
    please select > 2
    
  3. 在出现如下信息时,按需输入对应数据选择部署形态。

    • 1:表示单机部署(SE)。

    • 2:表示共享集群部署(CE)。

    which type of YashanDB do you want to deploy:
    1) SE: Standalone Deployment.
    2) CE: YAC Deployment.
    (default: 1)
    please select > 2
    
  4. 输入规划用于部署数据库的服务器IP地址。

    which ip address of the YashanDB Operation Manage, such as '192.168.1.2,192.168.1.3' or '192.168.1.[2-4]'
    please enter ip address > 192.168.1.2,192.168.1.3
    
  5. 需根据提示输入安装用户信息:

    1. )输入用户名,所有服务器的安装用户的用户名需要一致。

      what is an SSH username used to install YashanDB
      (default: yashan)
      please enter ssh username > 
      
    2. )输入密码,所有服务器的安装用户的密码需要一致,如果配置了免密则直接置空。

      which SSH password
      please enter ssh password > ******
      
    3. )输入SSH端口号,所有服务器的SSH端口号需要一致。

      which SSH port
      (default: 22)
      please enter ssh port > 
      
  6. 校验服务器连接信息。

    出现如下信息,表示服务器连接成功。

    checking SSH connection status...
    +----------------------------------------------+
    | ip            | message              | check |
    +----------------------------------------------+
    | 192.168.1.2   | connect successfully | OK    |
    +---------------+----------------------+-------+
    | 192.168.1.3   | connect successfully | OK    |
    +---------------+----------------------+-------+
    

    如果连接失败,则需要重新输入服务器信息。

# 步骤2:校验部署环境

在环境校验过程中,如无问题程序会自动进入下一步,无需手动操作。若某一项检验与数据库所需环境不符,将返回相应提示ignore it and continue, [y/n] >并需手动输入y/n进行确认:

  • n:表示不忽略环境情况,此时会退出程序,可以根据提示执行相关命令。
  • y:表示忽略,程序继续进入下一步,但最终可能会部署失败或功能受损。
  1. 检查操作系统相关配置。

    checking system os...
    +-----------------------------------------------------------------------------------+
    | ip          | hostname    | cpu | memory  | firewalld | hugepage | YASDBA | check |
    +-----------------------------------------------------------------------------------+
    | 192.168.1.2 | host0001    | 8   | 31.26GB | inactive  | always   | joined | OK    |
    +-------------+-------------+-----+---------+-----------+----------+--------+-------+
    | 192.168.1.3 | host0002    | 8   | 31.26GB | inactive  | always   | joined | OK    |
    +-------------+-------------+-----+---------+-----------+----------+--------+-------+
    

    Note:

    共享集群部署会校验服务器名称,若服务器名称不符合要求,则会直接退出。

  2. 检查系统内核相关配置。

    checking system sysctl...
    +------------------------------------------------------------------------+
    | ip          | swappiness | ip_local_port_range | max_map_count | check |
    +------------------------------------------------------------------------+
    | 192.168.1.2 | 0          | 102465535           | 2000000       | OK    |
    +-------------+------------+---------------------+---------------+-------+
    | 192.168.1.3 | 0          | 3276860999          | 2000000       | OK    |
    +-------------+------------+---------------------+---------------+-------+
    
  3. 检查限制系统资源相关配置。

    checking system ulimit...
    +--------------------------------------------------------------------------------------+
    | ip          | open files | max user processes | max memory size | stack size | check |
    +--------------------------------------------------------------------------------------+
    | 192.168.1.2 | 1048576    | 65535              | unlimited       | 8192       | FAIL  |
    +-------------+------------+--------------------+-----------------+------------+-------+
    | 192.168.1.3 | 1048576    | 65535              | unlimited       | 8192       | FAIL  |
    +-------------+------------+--------------------+-----------------+------------+-------+
    
    this system deployment environment, some ulimit configure seems bad.
    please update with ulimit under root user, such as:
    echo "* soft nproc 1048576">> /etc/security/limits.conf
    echo "* hard nproc 1048576">> /etc/security/limits.conf
    
    if configure failed, please resolved by yourself, maybe need to reboot system.
    you can also ignore it and continue, but it is not friendly to the YashanDB and may affect performance or system stability
    ignore and continue [y/n] > 
    
  4. 检查依赖库。

    checking system libraries...
    +-------------------------------------------------------------------------------------------------------------------+
    | ip          | os     | libcrypto           | libssl           | liblz4          | libz          | libzstd | check |
    +-------------------------------------------------------------------------------------------------------------------+
    | 192.168.1.2 | centos | libcrypto.so.1.1.1k | libssl.so.1.1.1k | liblz4.so.1.8.3 | libz.so.1.2.7 | unknow  | FAIL  |
    +-------------+--------+---------------------+------------------+-----------------+---------------+---------+-------+
    | 192.168.1.3 | centos | libcrypto.so.1.1.1k | libssl.so.1.1.1k | liblz4.so.1.8.3 | libz.so.1.2.7 | unknow  | FAIL  |
    +-------------+--------+---------------------+------------------+-----------------+---------------+---------+-------+
    
    this system deployment environment, some libraries unfound.
    please install them by yourself, such as:
    sudo yum install zlib lz4 libzstd
    
    if configure failed, please resolved by yourself, also you should confiure 'LD_LIBRARY_PATH' to resolved
    you can also ignore it and continue, but deployment maybe fail
    ignore and continue [y/n] > 
    

# 步骤3:配置数据库相关信息

  1. 输入数据库名称。

    what is the name of the YashanDB
    (default: yashandb)
    please enter cluster name(db name) > 
    
  2. 设置主备规模,即输入主备集群的总个数。

    若为单集群部署则输入1,若为一主一备则输入2,以此类推。

    how many groups are there in the YashanDB YAC
    (default: 1)
    please enter the number of group >
    
  3. 输入集群内的节点规模。

    • 主集群

      how many nodes are there in the primary cluster
      (default: 2)
      please enter the number of nodes > 2
      
    • 备集群(仅在主备集群部署时需要设置)

      how many nodes are there in a standby cluster(all standby clusters have the same nodes)
      (default: 2)
      please enter the number of nodes > 2
      
  4. 输入YFS磁盘故障组数量,所有集群组的故障组数量一致。

    how many failuregroups are there in a cluster
    (default: 1)
    please enter the number of failuregroups > 1
    
  5. 配置共享存储信息。

    如果部署主备共享集群,则要求输入多套共享存储信息。

    please configure the disk for the cluster ceg1
    
    • 磁盘发现路径:

      what is the disk found path, you can input string like 'path1,path2,path3' if there are several paths
      please enter disk found path > /dev/yfs
      
    • 系统数据盘:

      what is the disk of system diskgroup, you can input string like 'disk1,disk2,disk3' if there are several disks
      please enter system data > /dev/yfs/sys0,/dev/yfs/sys1,/dev/yfs/sys2
      
    • 数据盘:

      what is the disk path of data, you can input string like 'disk1,disk2,disk3' if there are several disks
      please enter data disk > /dev/yfs/data0
      
  6. 配置网络资源信息:

    如需配置VIP或SCAN,必须同时配置公网子网,且VIP必须属于公网对应的子网下。

    • 共享集群的VIP配置信息,格式为IP地址/子网掩码[/网卡名],例如:192.168.1.62/255.255.255.0/ens192,如果无法确保同一集群中所有服务器访问公网的网卡名一致,则必须省略网卡名。需配合--public-network参数使用,且IP地址应属于公网网段。VIP个数与节点个数一致,多个VIP配置之间用逗号,隔开

      what is the vips, if you need, you can input string like 'ip1,ip2,ip3'
      please enter vips > 192.168.1.62/24,192.168.1.63/24
      
    • 共享集群对外提供服务的公网,格式为子网/子网掩码[/网卡名],网卡名可以省略,例如:192.168.1.0/24

      what is the public network, if you need, you can input string
      please enter public network > 192.168.1.0/24/ens192
      
    • 共享集群的SCAN域名,需配合--public-network参数使用

      what is the scanname, if you need, you can input string
      please enter scan name > scan.example.com
      
  7. 检测共享存储等设备/环境,确认是否可以使用基于SCSI持久预留的I/O Fencing

    即使检测报错也并不会阻塞安装部署,但共享集群的I/O Fencing方法将被配置为在途I/O保护算法。如仍需使用基于SCSI持久预留的I/O Fencing,请根据相应的错误提示进行调整。

    If you want to use SCSI I/O Fencing, please make sure user of host has  sudo permission with no password
    Now check if SCSI I/O Fencing can be selected......
    
    SCSI-based I/O Fencing Test(Dual-host) Start
    Test Running on /dev/yfs/datadisk...
    Device /dev/yfs/datadisk Support SCSI-based I/O Fencing
    Supportive Device: /dev/yfs/datadisk
    Test succeed
    Cluster will be configured with SCSI-based I/O Fencing
    
  8. 选择需要安装的插件,指定多个值时使用逗号,隔开。

    选项 说明
    1/none 不安装插件
    2/all 安装所有插件,默认值
    3/gis 安装用于内置GIS函数的插件
    4/dblink 安装用于DBLink相关功能的插件
    5/udf 安装用于自定义函数相关功能的插件
    6/s3 安装用于S3 bucket相关功能的插件(对应功能暂不适用于共享集群部署,无需单独指定安装该插件)
    7/listagg 安装用于内置LSFA_LISTAGG函数的插件(对应功能暂不适用于共享集群部署,无需单独指定安装该插件)
    8/xml 安装用于内置XML函数的插件
    what plugins do you want to intall for the YashanDB
    1) none: do not install any plugins.
    2) all: install all plugins below.
    3) gis
    4) dblink
    5) udf
    6) s3
    7) listagg
    8) xml
    you can input such as: 3,4,5,6 or gis,dblink,udf,s3
    (default: 2)
    please select > 
    
  9. 根据目录划分的相关规划,配置数据库所需目录:

    1. )HOME目录:
    which install-path of the YashanDB, YASDB_HOME will be: <install-path>/<version>
    (default: /home/yashan/install)
    please enter install-path > /data/yashan/yasdb_home
    YASDB_HOME will be: /data/yashan/yasdb_home/{version_number}
    
    1. )DATA目录:
    which data-path of the YashanDB, YASDB_DATA will be: <data-path>/db-<nodeid>
    (default: /data/yashan/yasdb_home/yasdb_data)
    please enter data-path > /data/yashan/yasdb_data
    
    1. )运行日志目录:
    which log-path of the YashanDB, run.log will be: <log-path>/db-<nodeid>/run/run.log
    (default: /data/yashan/yasdb_home/log)
    please enter log-path > /data/yashan/log
    
  10. 选择数据库监听IP。

    which ip you will be used to listen
    1) manage-ip: listen on 192.168.1.2,192.168.1.3
    2) 0.0.0.0: listen on 0.0.0.0
    (default: 1)
    please select > 
    
  11. 设置超级管理员sys用户的初始密码,配置要求如下:

    • 密码长度为8 - 64位。

    • 密码中不能包含对应的数据库用户名称。

    • 密码必须同时包含数字、字母和特殊字符。

    • OS命令相关的特殊字符(例如@/.!$'等)需进行转义。

    which sys password for YashanDB
    please enter sys password > ********
    checking sys password now, please wait...
    
  12. 配置起始端口。

    部署YashanDB时将基于该值按照一定规则生成数据库所需的所有端口号。

    which port generate for YashanDB
    (default: 1688)
    please enter port > 
    

# 步骤4:部署数据库

根据提示选择是否部署YashanDB:

  • 1:仅配置(config-only),表示仅在当前目录生成基于上述配置值的部署文件,然后自动退出交互式程序,后续可基于配置文件进行数据库部署。后续部署时执行yasboot cluster deploy命令无需再指定--sys-password参数。
  • 2:立即部署(install-now),表示立即基于上述配置值部署YashanDB。
bootloader for parameter setting has been completed, please select:
1) config-only: only generate configuration, do not install now.
                you should update those configuration, such as: database building parameters.
                then install with those configuration by yourself.
2) install-now: generate configuration and install now
(default: 2)

# 步骤5:部署后操作

# 部署成功

返回如下信息,表示数据库部署成功。

generate configuration for host and YashanDB...
generate configuration succeed
install software...
install software succeed
initialize database...
initialize database succeed

数据库部署成功后,可按需执行如下配置:

  • 配置环境变量

    Do you want to append environment to ~/.bashrc on each machine?
    (default: yes)
    [y/n] > y
    
    append environment to ~/.bashrc successfully
    please source environment by yourself, such as:
    source ~/.bashrc
    
  • 配置monit守护进程以及开机自启动

    该操作仅配置数据库开机自启动,若已开启基于SCSI持久预留的I/O Fencing功能,还需配置ycsrootagent进程的开机自启动,操作步骤请查阅配置开机自启动

    Do you want to enable the monit function?
    If this feature is enabled, when process crashes for various reasons, it will be pulled up .
    However, if you use yasql to shutdown database, yasdb process will not be pulled up.
    [y/n] > y
    
    enable the daemon function successfully
    
    Already generate scripts: yashandb_boot_start.sh in current directory
    If you want to set monit to start automatically at boot, you can execute it in each machine, such as: 
    sudo ./yashandb_boot_start.sh
    

# 部署失败

返回如下信息,表示数据库部署失败。可根据提示进行环境清理,清理后将退出交互式部署程序。如需重新部署,请重新执行上述全部操作。

generate configuration for host and YashanDB...
generate configuration succeed
install software...
install software succeed
initialize database...
initialize database failed

cluster deploy failed, stdout:task completed, status: FAILED
retcode: 1
stdout: create diskgroup DG0 failed, you can try to set yfs_force_create to true
stderr:
, stderr:
Do you want to clean this failed database?
[y/n] > y

clean success

# 步骤6:检查安装结果

部署成功后,可根据本操作查看数据库相关信息。

  1. 执行如下命令,查看数据库状态。
$ yasboot cluster status -c yashandb -d -p sys_password
hostid   | node_type | nodeid | pid   | instance_status | database_status | database_role | listen_address     | data_path                                          
--------------------------------------------------------------------------------------------------------------------------------------------------------------
host0001 | ce        | 1-1:1  | 19513 | open            | normal          | primary       | 192.168.1.2:1688   | /data/yashan/yasdb_data/ce-1-1 
----------+-----------+--------+-------+-----------------+-----------------+---------------+--------------------+---------------------------------------------
host0002 | ce        | 1-2:2  | 19608 | open            | normal          | primary       | 192.168.1.3:1688   | /data/yashan/yasdb_data/ce-1-2 
----------+-----------+--------+-------+-----------------+-----------------+---------------+--------------------+---------------------------------------------
  1. 使用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     
  1. (可选)创建数据库用户并赋权,更多操作请查阅用户管理
CREATE USER sales IDENTIFIED BY sales;

GRANT CONNECT TO SALES;

exit

# 手动部署

# 步骤1:生成部署文件

根据需要部署的数据库规模(例如单集群、1主1备集群等)不同,生成配置文件时需要指定的参数略有差异,常用参数如下表所示,参数全集请查阅yasboot package ce gen命令

本文将介绍几种相对典型的配置示例,实际安装时可选择相对接近的规模示例进行参考。

  1. 执行yasboot package ce gen命令生成配置文件。
$ ./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 \
--data /dev/yfs/data0 \
--disk-found-path /dev/yfs  \
--system-data /dev/yfs/sys0,/dev/yfs/sys1,/dev/yfs/sys2 \
--inter-cidr 172.16.1.0/24 \
--public-network 192.168.1.0/24 \
--scanname scan.example.com

执行完毕后,当前目录下将生成{集群名称}.toml和hosts.toml两个配置文件:

-rw-------. 1 yashan yashan       444 Aug 31 16:27 hosts.toml
-rw-------. 1 yashan yashan       708 Aug 31 16:27 yashandb.toml
  1. 根据实际需要调整配置文件中的相关参数:

    Caution:

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

    • 服务器的配置文件hosts.toml:可以按需修改yasom与yasagent的监听端口、日志存放路径等信息。

    • 数据库集群的配置文件(示例yashandb.toml):可在[group.config]区域设置YashanDB的所有建库参数、在[[group.diskgroup]]区域配置数据盘信息(例如:冗余度、数据盘分组信息等)、在[group.systemdiskgroup]区域设置系统盘组相关配置(安装后无法调整),在[group.ycsconfig]区域设置YCS参数、在[group.yfsconfig]区域设置YFS参数,在[group.node.config]区域设置YashanDB的所有配置参数

# 示例内容为单集群部署的yashandb.toml文件,具体信息以实际展示结果为准

cluster = "yashandb"	# 安装后修改也不会生效,除非重新安装
create_simple_schema = false	# 为true部署完会执行示例的SQL,若改为true需要在deploy时指定sys-password参数
uuid = "64f1568f4f6b033e58a015a833f0ad9e"	# 系统自动生成,不建议修改
yas_type = "CE"	# 部署模式,安装后修改也不会生效,除非重新安装

[[group]]
  database_role = "primary"  # 集群组的类型,primary表示主集群,standby表示备集群
  disk_found_path = "/dev/yfs"  # 磁盘发现路径
  group_type = "ce" # 节点组类型,安装后修改也不会生效,除非重新安装
  name = "ceg1" # 节点组名称,安装后修改也不会生效,除非重新安装
  public_network = "192.168.1.0/24"  # 公网子网
  scan_port = "1688"                 # SCAN的端口,通常直接复用监听端口
  scanname = "scan.example.com"      # SCAN域名
  [group.config]    # 可配置所有建库参数,不配置时采用默认值
    CHARACTER_SET = "utf8"
    ISARCHIVELOG = true
    REDO_FILE_NUM = 4
    REDO_FILE_SIZE = "128M"

  [[group.diskgroup]]  # 数据盘的磁盘组配置
    au_size = "1M"     # 分配磁盘空间时的AU大小
    disk_size = ""     # 指定可以由diskgroup进行管理的disk大小,可省略,则默认为该disk的总大小
    name = "DG0"        # 磁盘组的名称
    redundancy = "EXTERNAL"  # 磁盘组的冗余度
    yfs_force_create = false # 是否强制格式化磁盘

    [[group.diskgroup.failgroup]]  # 数据盘故障组配置
      disk = ["/dev/yfs/data0"] 
      name = "DG0_0"

  [[group.node]]    # 节点配置
    data_path = "/data/yashan/yasdb_data"   # DATA目录,安装后修改也不会生效,除非重新安装
    hostid = "host0001" # 服务器标识,安装后修改也不会生效,除非重新安装
    role = 1    # 共享集群的实例没有主备概念,该参数无实际含义,不支持修改
    [group.node.config]  # 可配置所有数据库参数,不配置时采用默认值,安装后修改也不会生效,除非重新安装
      CLUSTER_DATABASE = "TRUE"
      CLUSTER_INTERCONNECT = ":1689"
      DATA_BUFFER_SIZE = "1G"
      HA_ELECTION_TIMEOUT = 18
      HA_HEARTBEAT_INTERVAL = 6
      INTER_URL = ":1788"
      LISTEN_ADDR = "192.168.1.2:1688"
      REDO_BUFFER_PARTS = 8
      REDO_BUFFER_SIZE = "64M"
      RUN_LOG_FILE_PATH = "/data/yashan/log"
      SHARE_POOL_SIZE = "1G"
      SLOW_LOG_FILE_PATH = "/data/yashan/log"
      SQL_POOL_PARTS = 8
  
  [[group.node]]   # 节点配置
    data_path = "/data/yashan/yasdb_data"
    hostid = "host0002"
    role = 2
    [group.node.config]
      CLUSTER_DATABASE = "TRUE"
      CLUSTER_INTERCONNECT = ":1689"
      DATA_BUFFER_SIZE = "1G"
      HA_ELECTION_TIMEOUT = 18
      HA_HEARTBEAT_INTERVAL = 6
      INTER_URL = ":1788"
      LISTEN_ADDR = "192.168.1.3:1688"
      REDO_BUFFER_PARTS = 8
      REDO_BUFFER_SIZE = "64M"
      RUN_LOG_FILE_PATH = "/data/yashan/log"
      SHARE_POOL_SIZE = "1G"
      SLOW_LOG_FILE_PATH = "/data/yashan/log"
      SQL_POOL_PARTS = 8

  [group.systemdiskgroup] # 系统盘组配置,安装后无法更改
    au_size = "1M"     # 分配磁盘空间时的AU大小
    disk_size = ""     # 指定可以由diskgroup进行管理的disk大小,可省略,则默认为该disk的总大小
    name = "DG0"        # 磁盘组的名称
    redundancy = "NORMAL"  # 磁盘冗余度,根据指定的系统盘数量自动设置
    yfs_force_create = true

    [[group.systemdiskgroup.failgroup]]
      disk = ["/dev/yfs/sys0"]
      name = "SDG0_0"

    [[group.systemdiskgroup.failgroup]]
      disk = ["/dev/yfs/sys1"]
      name = "SDG0_1"

    [[group.systemdiskgroup.failgroup]]
      disk = ["/dev/yfs/sys2"]
      name = "SDG0_2"

  [group.ycsconfig]  # YCS配置参数,不配置时使用默认值
    DISK_HB_KEEP_ALIVE = 60
    LOG_LEVEL = "DEBUG"
    LOG_NUMBER = 10
    LOG_SIZE = "20M"
    NETWORK_HB_TIMEOUT = 30
    RESTART_INTERVAL = 30
    RESTART_TIMES = 3
    VOTING_FILE_NAME = "+SYSTEM/voting"
    WAIT_STOP_FIN_TIME = 90
    YCR_FILE_NAME = "+SYSTEM/ycr"
    
  [group.yfsconfig]  # YFS配置参数,不配置时采用默认值
    SHM_POOL_SIZE = "2G"
    SYS_AREA_SIZE = "1G"
    YFS_PACKET_SIZE = "1M"
[[host]]
  hostid = "host0001"
  [host.yasagent]
  [host.yasdb_ip]
    inter_ip = "172.16.1.2"
    inter_url = "172.16.1.2"

[[host]]
  hostid = "host0002"
  [host.yasagent]
  [host.yasdb_ip]
    inter_ip = "172.16.1.3"
    inter_url = "172.16.1.3"

# 步骤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 -p sys_password
    

# 步骤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/ce-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     | data_path                         |
    +----------------------------------------------------------------------------------------------------------------------------------------------------+
    | host0001 | ce        | 1-1:1  | 19513 | open            | normal          | primary       | 192.168.1.2:1688   | /data/yashan/yasdb_data/ce-1-1    |
    +----------+-----------+--------+-------+-----------------+-----------------+---------------+--------------------+-----------------------------------+
    | host0002 | ce        | 1-2:2  | 19608 | 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     
  1. (可选)创建数据库用户并赋权,更多操作请查阅用户管理
CREATE USER sales IDENTIFIED BY sales;

GRANT CONNECT TO SALES;

exit

# 步骤6:启动守护进程

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

$ yasboot monit start --cluster yashandb

Note:

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

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