#单机(主备)部署

执行安装部署前,请以安装用户(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:表示单服务器部署(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. 根据部署模式,输入数据库服务器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,192.168.1.4
    
  4. (可选)若为多服务器部署(multi-host),需根据提示输入安装用户信息:

    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 > 
      
  5. 校验服务器连接信息。

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

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

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

# 步骤4:校验部署环境

在环境校验过程中,如无问题程序会自动进入下一步,无需手动操作。若某一项检验与数据库所需环境不符,将返回相应提示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    |
    +-------------+-------------+-----+---------+-----------+----------+--------+-------+
    | 192.168.1.4 | host0003    | 4   | 15.51GB | inactive  | always   | joined | OK    |
    +-------------+-------------+-----+---------+-----------+----------+--------+-------+
    
    
  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    |
    +-------------+------------+---------------------+---------------+-------+
    | 192.168.1.4 | 30         | 3276860999          | 65530         | 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  |
    +-------------+------------+--------------------+-----------------+------------+-------+
    | 192.168.1.4 | 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  |
    +-------------+--------+---------------------+------------------+-----------------+---------------+---------+-------+
    | 192.168.1.4 | centos | libcrypto.so.1.1.1k | libssl.so.1.1.1k | liblz4.so.1.7.5 | 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] > 
    

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

  1. 输入数据库名称。

    what is the name of the YashanDB
    (default: yashandb)
    please enter cluster name(db name) > 
    
  2. 输入节点规模。

    how many nodes are there in the YashanDB
    (default: 3)
    please enter the number of nodes > 
    
  3. 选择需要安装的插件。

    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
    you can input such as: 3,4,5,6 or gis,dblink,udf,s3
    (default: 2)
    please select > 
    
  4. 根据目录划分的相关规划,配置数据库所需目录:

    1. )HOME目录(即YASDB_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/23.2.9.100
    
    1. )DATA目录(即YASDB_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
    
  5. 选择数据库监听IP。

    which ip you will be used to listen
    1) manage-ip: listen on 192.168.1.2,192.168.1.3,192.168.1.4
    2) 0.0.0.0: listen on 0.0.0.0
    (default: 1)
    please select > 
    
  6. 输入SYS用户的初始密码。

    which sys password for YashanDB
    please enter sys password > ******
    checking sys password now, please wait...
    
  7. 配置数据库可使用的内存配额(即占对应服务器总内存的百分比)。

    若当前实际可用值低于配置值,可根据提示选择是否忽略(y/n),如果忽略(输入y)则自动进入下一步,但最终可能会部署失败。如果不忽略(输入n)则需要重新输入恰当的内存百分比。

    which percentage of host memory available for YashanDB, 0 is unlimited
    (default: 80)
    please enter memory limit > 80
    host 192.168.1.2 memory limit is 25609M, but host available memory is 21018M
    it may cause database deployment failure
    ignore and continue [y/n] > n
    
    [error] not ignore warning, input again
    please retry, or use Ctrl-C to exit.
    please enter memory limit > 
    
  8. 配置起始端口。

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

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

# 步骤6:部署数据库

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

  • 1:仅配置(config-only),表示仅在当前目录生成基于上述配置值的部署文件,然后自动退出交互式程序,后续可基于配置文件进行数据库部署。

  • 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)

# 步骤7:部署后操作

# 部署成功

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

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守护进程以及开机自启动

    该操作与守护进程中介绍的操作相同,择一执行即可。

    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:database recommend parameter is enabled: 
node 1-1, type: db, percent of memory_limit: 99%(32011M), percent of cpu_limit: 100%(8 cores)

task completed, status: FAILED
retcode: 1
stdout: apply recommend param when start node nomount
stderr: wait node 1-1 process start failed: Starting instance nomount
YAS-00101 cannot allocate 31377653760 bytes for Global Area
Failed to start instance

, stderr:
Do you want to clean this failed database?
[y/n] > y

clean success

# 步骤8:检查安装结果

  1. 执行如下命令,查看数据库状态。
$ yasboot cluster status -c yashandb -d
hostid   | node_type | nodeid | pid   | instance_status | database_status | database_role | listen_address   | data_path                                       
--------------------------------------------------------------------------------------------------------------------------------------------------------------
host0001 | db        | 1-1:1  | 54814 | open            | normal          | primary       | 192.168.1.2:1688 | /data/yashan/yasdb_data/db-1-1
--------------------------------------------------------------------------------------------------------------------------------------------------------------
host0002 | db        | 1-2:2  | 49529 | open            | normal          | standby       | 192.168.1.3:1688 | /data/yashan/yasdb_data/db-1-2
--------------------------------------------------------------------------------------------------------------------------------------------------------------
host0003 | db        | 1-3:3  | 49582 | open            | normal          | standby       | 192.168.1.4:1688 | /data/yashan/yasdb_data/db-1-3

  1. 使用yasql工具连接数据库,查看实例状态。
$ yasql sys/password@192.168.1.2:1688
SQL> SELECT STATUS FROM V$INSTANCE;

STATUS        
------------- 
OPEN        

SQL> SELECT database_name FROM v$database;

DATABASE_NAME                                                    
---------------------------------------------------------------- 
yashandb     
  1. (可选)创建数据库用户并赋权,更多操作请查阅用户管理
SQL> CREATE USER sales IDENTIFIED BY sales;

SQL> GRANT CONNECT TO SALES;

# 手动部署(单节点)

# 步骤1:生成部署文件

  1. 执行yasboot package命令生成配置文件,命令详细参数可查阅yasboot
$ ./bin/yasboot package se gen --cluster yashandb --recommend-param \
-u yashan -p 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
参数 说明
--cluster 指定数据库集群名称,该名称也将作为初始数据库的名称(database name)
--port 指定SSH服务端口
--install-path 指定数据库安装路径
--data-path 指定数据存放目录
--begin-port 指定数据库监听端口

用于提高数据库性能的参数:

参数 说明
--create-cgroup 可选参数,指定创建cgroup目录
仅需安装可开启CPU等资源管理的单机数据库(非级联备)时需配置该参数,具体请查阅配置资源管理
--recommend-param 可选参数,开启并使用推荐的配置参数
--memory-limit 可选参数,服务器的可使用内存百分比上限,默认为80,须配合--recommend-param使用
--cpu-limit 可选参数,服务器的可使用CPU百分比上限,默认为100,须配合--recommend-param使用
--scene 可选参数,参数调优的场景,可选[NORMAL],默认为NORMAL,须配合--recommend-param使用
--scale-factor 可选参数,诸如TPCH等测试场景的数据规模,默认为100,表示100G测试数据,须配合--recommend-param使用
--table-type 可选参数,主要的业务的表类型,默认为HEAP,该参数会使数据库配置参数更适合此表类型,须配合--recommend-param使用

执行完毕后,当前目录下将生成yashandb.toml和hosts.toml两个配置文件,可手动修改,但不建议删除文件中任何行,否则可能导致后续安装过程报错,或所搭建的环境后续无法进行扩展配置。

  • yashandb.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. 根据实际需要调整yashandb.toml配置文件中的安装参数,可在group级别设置YashanDB的所有建库参数,可在node级别设置YashanDB的所有配置参数
# 以下内容以实际展示结果为准
cluster = "yashandb" # 安装后修改也不会生效,除非重新安装
create_simple_schema = false # 为true部署完会执行示例的SQL,若改为true需要在deploy时指定sys-password参数
recommend_param = true  # 开启推荐参数
scale_factor = 100      # 数据规模
scene = "NORMAL"        # 参数调优场景
table_type = "HEAP"      # 主要的业务表类型
uuid = "64f04f0e999c72db72bd565762e6a4ea" # 系统自动生成,不建议修改
yas_type = "SE" # 部署模式,安装后修改也不会生效,除非重新安装

[[group]]
  group_type = "db" # 安装后修改也不会生效,除非重新安装
  name = "dbg1" # 安装后修改也不会生效,除非重新安装
  [group.config] # 可配置所有建库参数,不配置时采用默认值
    CHARACTER_SET = "utf8"
    ISARCHIVELOG = true
    REDO_FILE_NUM = 4
    REDO_FILE_SIZE = "128M"

  [[group.node]]
    cpu_limit = 8    # 节点可使用CPU核数上限
    data_path = "/data/yashan/yasdb_data" # 为DATA目录,安装后修改也不会生效,除非重新安装
    hostid = "host0001" # 安装后修改也不会生效,除非重新安装
    memory_limit = "1536M" # 节点可使用内存上限,跟使用的主机内存有关
    role = 1    # 数据库主备角色,安装后修改也不会生效,除非重新安装
    [group.node.config] # 可配置所有数据库参数,不配置时采用默认值,安装后修改可以生效(只读参数不可修改)
      LISTEN_ADDR = "192.168.1.2:1688"
      REPLICATION_ADDR = "192.168.1.2:1689"
      RUN_LOG_FILE_PATH = "/data/yashan/log"
      RUN_LOG_LEVEL = "INFO"
      SLOW_LOG_FILE_PATH = "/data/yashan/log"

# 步骤2:执行安装

$ ./bin/yasboot package install -t hosts.toml 

# 步骤3:部署数据库

$ ./bin/yasboot cluster deploy -t yashandb.toml

Note:

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

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

task completed, status: SUCCESS

# 步骤4:配置环境变量

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

# 部署命令成功执行后将会在$YASDB_HOME目录下的conf文件夹中生成<<集群名称>>.bashrc环境变量文件
$ cd /data/yashan/yasdb_home/23.2.1.100/conf
# 如~/.bashrc中已存在YashanDB相关的环境变量,将其清除

$ cat yashandb.bashrc >> ~/.bashrc
$ source ~/.bashrc

# 步骤5:检查安装结果

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

  1. YashanDB不提供系统初始口令,需使用yasboot工具设置数据库sys用户的密码,以安装用户登录到服务器并执行如下命令设置密码。
$ yasboot cluster password set -n newpasswd -c yashandb
  1. 执行如下命令,查看数据库状态。
$ yasboot cluster status -c yashandb -d
hostid   | node_type | nodeid | pid   | instance_status | database_status | database_role | listen_address | data_path                                       
--------------------------------------------------------------------------------------------------------------------------------------------------------------
host0001 | db        | 1-1:1  | 54814 | open            | normal          | primary       | 192.168.1.2:1688 | /data/yashan/yasdb_data/db-1-1
  1. 使用yasql工具连接数据库,查看实例状态。
$ yasql sys/password@192.168.1.2:1688
SQL> SELECT STATUS FROM V$INSTANCE;

STATUS        
------------- 
OPEN        

SQL> SELECT database_name FROM v$database;

DATABASE_NAME                                                    
---------------------------------------------------------------- 
yashandb     
  1. (可选)创建数据库用户并赋权,更多操作请查阅用户管理
SQL> CREATE USER sales IDENTIFIED BY sales;

SQL> GRANT CONNECT TO SALES;

Note:

如需开启monit功能,可参考守护进程完成相关配置。

# 手动部署(1主2备)

# 步骤1:生成部署文件

  1. 执行yasboot package命令生成配置文件,命令详细参数可查阅yasboot
 $ ./bin/yasboot package se gen --cluster yashandb --recommend-param \
 -u yashan -p 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
参数 说明
--cluster 指定数据库集群名称,该名称也将作为初始数据库的名称(database name)
--port 指定SSH服务端口
--install-path 指定数据库安装路径
--data-path 指定数据存放目录
--begin-port 指定数据库监听端口
--create-cgroup 可选参数,指定创建cgroup目录
仅需安装可开启CPU资源管理的单机数据库(非级联备)时需配置该参数,具体请查阅配置资源管理
--recommend-param 可选参数,开启并使用推荐的配置参数

执行完毕后,当前目录下将生成yashandb.toml和hosts.toml两个配置文件,可手动修改,但不建议删除文件中任何行,否则可能导致后续安装过程报错,或所搭建的环境后续无法进行扩展配置。

  • yashandb.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. 根据实际需要调整yashandb.toml配置文件中的安装参数,可在group级别设置YashanDB的所有建库参数,可在node级别设置YashanDB的所有配置参数

请参考数据库配置调优和自身环境配置调整相关参数。若所安装环境为高可用的Raft集群(自动选主),还需参考高可用

# 以下内容以实际展示结果为准
cluster = "yashandb" # 安装后修改也不会生效,除非重新安装
create_simple_schema = false # 为true部署完会执行示例的SQL,若改为true需要在deploy时指定sys-password参数
recommend_param = true  # 开启推荐参数
scale_factor = 100      # 数据规模
scene = "NORMAL"        # 参数调优场景
table_type = "HEAP"      # 主要的业务表类型
uuid = "64f04f0e999c72db72bd565762e6a4ea" # 系统自动生成,不建议修改
yas_type = "SE" # 部署模式,安装后修改也不会生效,除非重新安装

[[group]]
  group_type = "db" # 安装后修改也不会生效,除非重新安装
  name = "dbg1" # 安装后修改也不会生效,除非重新安装
  [group.config] # 可配置所有建库参数,不配置时采用默认值
    CHARACTER_SET = "utf8"
    ISARCHIVELOG = true
    REDO_FILE_NUM = 4
    REDO_FILE_SIZE = "128M"

  [[group.node]]
    cpu_limit = 8    # 节点可使用CPU核数上限
    data_path = "/data/yashan/yasdb_data" # 为DATA目录,安装后修改也不会生效,除非重新安装
    hostid = "host0001" # 安装后修改也不会生效,除非重新安装
    memory_limit = "1536M"
    role = 1    # 数据库主备角色,安装后修改也不会生效,除非重新安装
    [group.node.config] # 可配置所有数据库参数,不配置时采用默认值,安装后修改可以生效(只读参数不可修改)
      LISTEN_ADDR = "192.168.1.2:1688"
      REPLICATION_ADDR = "192.168.1.2:1689"
      RUN_LOG_FILE_PATH = "/data/yashan/log"
      RUN_LOG_LEVEL = "INFO"
      SLOW_LOG_FILE_PATH = "/data/yashan/log"


  [[group.node]]
    cpu_limit = 8
    data_path = "/data/yashan/yasdb_data"
    hostid = "host0002"
    memory_limit = "1536M"
    role = 2
    [group.node.config]
        LISTEN_ADDR = "192.168.1.3:1688"
        REPLICATION_ADDR = "192.168.1.3:1689"
        RUN_LOG_FILE_PATH = "/data/yashan/log"
        RUN_LOG_LEVEL = "INFO"
        SLOW_LOG_FILE_PATH = "/data/yashan/log"
  
  [[group.node]]
    cpu_limit = 8
    data_path = "/data/yashan/yasdb_data"
    hostid = "host0003"
    memory_limit = "1536M"
    role = 2
    [group.node.config]
      LISTEN_ADDR = "192.168.1.4:1688"
      REPLICATION_ADDR = "192.168.1.4:1689"
      RUN_LOG_FILE_PATH = "/data/yashan/log"
      RUN_LOG_LEVEL = "INFO"
      SLOW_LOG_FILE_PATH =  "/data/yashan/log"

# 步骤2:执行安装

$ ./bin/yasboot package install -t hosts.toml

Note:

后续实际使用中需开启monit功能,可参考守护进程完成相关配置。

# 步骤3:部署数据库

$ ./bin/yasboot cluster deploy -t yashandb.toml

Note:

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

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

task completed, status: SUCCESS

# 步骤4:配置环境变量

以安装用户登录到每个服务器上,执行如下命令生效环境变量。

# 部署命令成功执行后将会在$YASDB_HOME目录下的conf文件夹中生成<<集群名称>>.bashrc环境变量文件
$ cd /data/yashan/yasdb_home/23.2.1.100/conf
# 如~/.bashrc中已存在YashanDB相关的环境变量,将其清除

$ cat yashandb.bashrc >> ~/.bashrc
$ source ~/.bashrc

# 步骤5:检查安装结果

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

  1. YashanDB不提供系统初始口令,需使用yasboot工具设置数据库sys用户的密码,以安装用户登录到服务器并执行如下命令设置密码。
$ yasboot cluster password set -n newpasswd -c yashandb
  1. 执行如下命令,查看数据库状态。
$ yasboot cluster status -c yashandb -d
hostid   | node_type | nodeid | pid   | instance_status | database_status | database_role | listen_address   | data_path                                       
--------------------------------------------------------------------------------------------------------------------------------------------------------------
host0001 | db        | 1-1:1  | 54814 | open            | normal          | primary       | 192.168.1.2:1688 | /data/yashan/yasdb_data/db-1-1
--------------------------------------------------------------------------------------------------------------------------------------------------------------
host0002 | db        | 1-2:2  | 49529 | open            | normal          | standby       | 192.168.1.3:1688 | /data/yashan/yasdb_data/db-1-2
--------------------------------------------------------------------------------------------------------------------------------------------------------------
host0003 | db        | 1-3:3  | 49582 | open            | normal          | standby       | 192.168.1.4:1688 | /data/yashan/yasdb_data/db-1-3

  1. 使用yasql工具连接数据库,查看实例状态。
$ yasql sys/password@192.168.1.2:1688
SQL> SELECT STATUS FROM V$INSTANCE;

STATUS        
------------- 
OPEN        

SQL> SELECT database_name FROM v$database;

DATABASE_NAME                                                    
---------------------------------------------------------------- 
yashandb     
  1. (可选)创建数据库用户并赋权,更多操作请查阅用户管理
SQL> CREATE USER sales IDENTIFIED BY sales;

SQL> GRANT CONNECT TO SALES;

Note:

  • 如需开启monit功能,可参考守护进程完成相关配置。

  • 如需部署级联备,请在部署完一主一备(多备)后查阅级联备配置完成相关配置。