YashanDB共享集群部署

简介: 本文介绍了YashanDB共享集群部署的安装步骤,以2台服务器和1个共享存储(含3个及以上LUN)为例。首先通过`yasboot package`命令生成配置文件`yashandb.toml`和`hosts.toml`,并根据需求调整参数。接着执行安装、数据库部署及重启操作,配置环境变量后检查安装结果。最后通过工具设置密码、查看状态,并可选择创建用户及开启守护功能。

本文内容来自YashanDB官网,原文内容请见 https://doc.yashandb.com/yashandb/23.3/zh/%E5%AE%89%E8%A3%85%E5%92%8C%E5%8D%87%E7%BA%A7/%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2/YashanDB%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%AE%89%E8%A3%85%EF%BC%88%E5%91%BD%E4%BB%A4%E8%A1%8C%EF%BC%89/%E5%85%B1%E4%BA%AB%E9%9B%86%E7%BE%A4%E9%83%A8%E7%BD%B2.html

本文以典型规格(2台服务器,1共享存储且包含3个及以上LUN)为例,介绍共享集群部署形态的安装步骤。

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

$ cd /home/yashan/install

Copied!

  1. 执行yasboot package命令生成配置文件,命令详细参数可查阅yasboot
 $ ./bin/yasboot package ce gen --cluster yashandb -u yashan -p password --ip 192.168.1.2,192.168.1.3 --port 22 --install-path /data/yashan/yasdb_home --data-path /data/yashan/yasdb_data --begin-port 1688 --node 2 --data /dev/yas/datadisk --disk-found-path /dev/yas  --system-data /dev/yas/systemdisk

Copied!

参数 说明
--cluster 指定数据库集群名称,该名称也将作为初始数据库的名称(database name)
--port 指定SSH服务端口
--install-path 指定数据库安装路径
--data-path 指定数据存放目录
--begin-port 指定第一个数据库实例的数据库监听端口
--data 指定绑定的数据盘路径
--disk-found-path 指定磁盘发现路径
--system-data 指定绑定的系统数据盘路径

执行完毕后,当前目录下将生成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

Copied!

  1. 根据实际需要调整yashandb.toml配置文件中的安装参数,可在group级别设置YashanDB的所有建库参数,可在node级别设置YashanDB的所有配置参数

cluster = "yashandb"    
create_simple_schema = false    
uuid = "64f1568f4f6b033e58a015a833f0ad9e"    
yas_type = "CE"    
disk_found_path = "/dev/yas"

[[group]]
  group_type = "ce" 
  name = "ceg1" 
  database_role = "primary"
  [group.config]    
    CHARACTER_SET = "utf8"
    ISARCHIVELOG = true
    REDO_FILE_NUM = 4
    REDO_FILE_SIZE = "128M"
  [[group.diskgroup]]
    au_size = "1M"
    disk_size = ""
    name = "DG0"
    redundancy = "EXTERNAL"
    yfs_force_create = false

    [[group.diskgroup.failgroup]]
      disk = ["/dev/yas/datadisk"]
      name = "DG0_0"


  [[group.node]]    
    data_path = "/data/yashan/yasdb_data"   
    hostid = "host0001" 
    role = 1    
    [group.node.config]  
      CLUSTER_DATABASE = "TRUE"
      CLUSTER_INTERCONNECT = "192.168.1.2:1689"
      DATA_BUFFER_SIZE = "1G"
      HA_ELECTION_TIMEOUT = 18
      HA_HEARTBEAT_INTERVAL = 6
      INTER_URL = "192.168.1.2:1788"
      LISTEN_ADDR = "192.168.1.2:1688"
      REDO_BUFFER_PARTS = 8
      REDO_BUFFER_SIZE = "64M"
      RUN_LOG_FILE_PATH = "/data/yashan/yasdb_home/yashandb/23.3.1.100/log/yashandb/ce-1-1/run"
      SHARE_POOL_SIZE = "1G"
      SLOW_LOG_FILE_PATH = "/data/yashan/yasdb_home/yashandb/23.3.1.100/log/yashandb/ce-1-1/slow"
      SQL_POOL_PARTS = 8

  [[group.node]]
    data_path = "/data/yashan/yasdb_data"
    hostid = "host0002"
    role = 2
    [group.node.config]
      CLUSTER_DATABASE = "TRUE"
      CLUSTER_INTERCONNECT = "192.168.1.3:1689"
      DATA_BUFFER_SIZE = "1G"
      HA_ELECTION_TIMEOUT = 18
      HA_HEARTBEAT_INTERVAL = 6
      INTER_URL = "192.168.1.3:1788"
      LISTEN_ADDR = "192.168.1.3:1688"
      REDO_BUFFER_PARTS = 8
      REDO_BUFFER_SIZE = "64M"
      RUN_LOG_FILE_PATH = "/data/yashan/yasdb_home/yashandb/23.3.1.100/log/yashandb/ce-1-2/run"
      SHARE_POOL_SIZE = "1G"
      SLOW_LOG_FILE_PATH = "/data/yashan/yasdb_home/yashandb/23.3.1.100/log/yashandb/ce-1-2/slow"
      SQL_POOL_PARTS = 8
    [group.ycsconfig]
        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]
        FILE_SIZE = "100M"
        SHM_POOL_SIZE = "2G"
        SYS_AREA_SIZE = "1G"
    [group.systemdiskgroup]
        au_size = "1M"
        disk_size = ""
        name = "SYSTEM"
        redundancy = "EXTERNAL"
        yfs_force_create = true

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

Copied!

步骤2:执行安装


场景一:直接安装。

$ ./bin/yasboot package install -t hosts.toml -i yashandb-23.3.1.100-linux-x86_64.tar.gz

Copied!

场景二:如需使用DBLINK功能以及更丰富的内置函数(例如LSFA_LISTAGG),需先下载plugin插件包并在安装命令中指定--plugin参数。安装完成后,无法单独安装该插件包

$ ./bin/yasboot package install -t hosts.toml -i yashandb-23.3.1.100-linux-x86_64.tar.gz --plugin yashandb-plugins-all-23.3.1.100-linux-x86_64.tar.gz

Copied!

步骤3:数据库部署


  1. 执行如下命令,部署数据库:
$ ./bin/yasboot cluster deploy -t yashandb.toml --yfs-force-create

Copied!

Note:

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

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

task completed, status: SUCCESS

Copied!

  1. 执行如下命令,重启数据库:
$ ./bin/yasboot cluster restart -c yashandb

Copied!

步骤4:配置环境变量


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


$ cd /data/yashan/yasdb_home/yashandb/23.3.1.100/conf


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

Copied!

步骤5:检查安装结果


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

  1. YashanDB不提供系统初始口令,需使用yasboot工具设置数据库sys用户的密码,以安装用户登录到服务器并执行如下命令设置密码。
$ yasboot cluster password set -n newpasswd -c yashandb

Copied!

  1. 执行如下命令,查看数据库状态。
$ yasboot cluster status -c yashandb -d
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 
----------+-----------+--------+-------+-----------------+-----------------+---------------+--------------------+---------------------------------------------

Copied!

  1. 使用yasql工具连接数据库,查看实例状态。
$ yasboot sql -d 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

Copied!

  1. (可选)创建数据库用户并赋权,更多操作请查阅用户管理
$ yasql sys/password@192.168.1.3:1688
SQL> CREATE USER sales IDENTIFIED BY sales;

SQL> GRANT CONNECT TO SALES;

Copied!

Note:

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

相关文章
|
7月前
|
监控 算法 测试技术
突破极限: 高负载场景下的单机300M多行正则日志采集不是梦
在当今数字化时代,日志数据已成为企业 IT 运营和业务分析的关键资源。然而,随着业务规模的扩大和系统复杂度的提升,日志数据的体量呈现爆发式增长,给日志采集和处理系统带来了巨大挑战。
540 99
|
7月前
|
数据可视化 Linux 数据库连接
YashanDB下载软件包方法
本文介绍了YashanDB的软件包清单及下载步骤,涵盖服务端、客户端、插件及多种开发驱动(如ODBC、JDBC、Python等)的安装包。用户可根据实际需求选择适合的软件包,并按照官方文档指引完成安装。文章还详细描述了软件包下载和安装工具获取的过程,包括创建安装目录、下载并解压软件包,以及使用`yasboot`或`yasom`命令进行命令行或可视化安装。适用于Linux和Windows平台的多种场景部署。
|
7月前
|
SQL 数据库 Windows
YashanDB Windows客户端安装
本文详细介绍了YashanDB客户端(Windows)的安装、使用与卸载步骤。安装部分包括解压软件包至本地路径,并配置系统环境变量;使用部分通过cmd窗口运行`yasql`命令连接远程数据库,执行相关操作;卸载部分则说明了删除环境变量及客户端目录的具体方法。更多功能可参考官方文档中的C驱动、imp、exp、yasldr和yasql工具说明。
YashanDB Windows客户端安装
|
7月前
|
SQL 数据可视化 网络安全
YashanDB分布式可视化部署
本文介绍YashanDB的分布式部署流程,涵盖服务端安装、数据库基本信息与服务器配置、节点信息设置、建库参数调整、环境变量配置及安装结果检查等步骤。通过可视化Web界面操作,详细说明了各环节配置方法和注意事项,确保用户顺利完成数据库集群的搭建与初始化设置。适用于需要分布式数据库部署的场景,提供全面的操作指导。
YashanDB分布式可视化部署
|
7月前
|
SQL 数据可视化 网络安全
YashanDB单机(主备)可视化部署
本文来自YashanDB官网,主要介绍单机(主备)部署YashanDB服务端的详细步骤。内容涵盖启动Web服务、配置数据库基本信息与服务器信息、设置sudo权限、配置集群节点信息、建库参数、全局参数、环境变量及安装结果检查等环节。通过可视化界面与命令行操作结合,帮助用户完成从安装到验证的全流程部署。适合初学者及运维人员参考使用。
YashanDB单机(主备)可视化部署
|
7月前
|
数据库
YashanDB滚动升级回退
本文来自YashanDB官网,主要介绍数据库升级失败时的回退操作。当因网络故障、配置错误等原因导致升级失败,可通过`yasboot cluster rollback`命令进行滚动升级回退,恢复至升级前环境。注意,仅升级失败才允许回退,成功后执行会报错。回退分两步:1) 数据库回退;2) yasom与yasagent组件回退。若回退失败且主库数量为0,需重启旧版本数据库并停止用户业务。具体参数和命令详见文档。
|
7月前
|
数据库
YashanDB更换服务器IP
本文来自YashanDB官网,主要介绍当单机部署的数据库集群中服务器IP发生变更时,管理员如何使用`yasboot ipchange`命令完成数据库层面的IP更换操作。以一主两备环境为例,详细描述了更换`yasom`、`yasagent`和`yasdb` IP的具体步骤,包括操作顺序、命令示例以及验证方法,确保数据库服务恢复正常运行。操作需按顺序执行,并满足YashanDB的部署要求。
|
7月前
|
数据可视化 网络安全 数据库
YashanDB安装初始环境调整
本文档来源于YashanDB官网,主要介绍YashanDB安装前的环境准备与配置。内容涵盖端口开放规则(包括默认端口号和分配原则)、防火墙设置(关闭或添加白名单)、SSH服务开启以及共享集群部署时的环境清理等关键步骤。确保按照指引正确配置端口和环境,可有效避免安装过程中因网络或环境问题导致的失败。适用于单机、分布式及共享集群等多种部署形态。
|
7月前
|
SQL 数据库
YashanDB事务操作
YashanDB 是一款高性能数据库,本文档来自其官网,主要介绍事务操作的基本语法与示例。在 YashanDB 中,事务提交前的修改仅对当前用户可见,可通过 `ROLLBACK` 回滚恢复数据;提交后(`COMMIT`),修改对所有用户可见且不可回滚。文档包含创建表、插入数据及事务提交和回滚的具体示例,帮助用户快速掌握 SQL 事务操作。
|
7月前
|
存储 算法 数据处理
解锁YashanDB高效查询的关键功能 Group by分组
本文由YashanDB资深研发工程师黄靖东撰写,深入探讨了SQL查询中Group by分组操作的优化策略。文章首先介绍了分组的基本概念,包括功能分类(如聚集、分组、分组与聚集等)和算法分类(如Hash分组、排序分组)。接着详细分析了多种分组优化方式,例如Hash分组、排序分组、基于索引的分组、TopN分组以及分组列优化(常量优化、等价关系优化、主键优化等)。此外,还讨论了聚集带Distinct的算法、分组并行策略、聚集函数优化及向量化提升性能等内容。最后,通过分组下推优化和实际场景应用,帮助开发者突破数据处理瓶颈,提升查询效率。适用于不同业务场景的优化策略,为高效数据处理提供了全面指导。