本文内容来自 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
复制代码
执行 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
复制代码
执行完毕后,当前目录下将生成 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
复制代码
根据实际需要调整 yashandb.toml 配置文件中的安装参数,可在 group 级别设置 YashanDB 的所有建库参数,可在 node 级别设置 YashanDB 的所有配置参数。
# 以下内容以实际展示结果为准
cluster = "yashandb" # 安装后修改也不会生效,除非重新安装
create_simple_schema = false # 为true部署完会执行示例的SQL,若改为true需要在deploy时指定sys-password参数
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" # 为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"
复制代码
步骤 2:执行安装
场景一:直接安装。
$ ./bin/yasboot package install -t hosts.toml -i yashandb-23.3.1.100-linux-x86_64.tar.gz
复制代码
场景二:如需使用 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
复制代码
步骤 3:数据库部署
执行如下命令,部署数据库:
$ ./bin/yasboot cluster deploy -t yashandb.toml --yfs-force-create
复制代码
Note:
可通过指定-d, --child
参数展示任务以及子任务信息,从而了解部署进度。
返回如下信息表示已成功部署。
task completed, status: SUCCESS
复制代码
执行如下命令,重启数据库:
$ ./bin/yasboot cluster restart -c yashandb
复制代码
步骤 4:配置环境变量
以安装用户登录到每个服务器上,执行如下命令生效环境变量。
# 部署命令成功执行后将会在$YASDB_HOME目录下的conf文件夹中生成<<集群名称>>.bashrc环境变量文件
$ cd /data/yashan/yasdb_home/yashandb/23.3.1.100/conf
# 如~/.bashrc中已存在YashanDB相关的环境变量,将其清除
$ cat yashandb.bashrc >> ~/.bashrc
$ source ~/.bashrc
复制代码
步骤 5:检查安装结果
若连接报错或执行 SQL 语句报错,请根据错误提示信息检查安装步骤,或咨询我们的技术支持。
YashanDB 不提供系统初始口令,需使用yasboot工具设置数据库 sys 用户的密码,以安装用户登录到服务器并执行如下命令设置密码。
$ yasboot cluster password set -n newpasswd -c yashandb
复制代码
执行如下命令,查看数据库状态。
$ 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
----------+-----------+--------+-------+-----------------+-----------------+---------------+--------------------+---------------------------------------------
复制代码
使用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
复制代码
(可选)创建数据库用户并赋权,更多操作请查阅用户管理。
$ yasql sys/password@192.168.1.3:1688
SQL> CREATE USER sales IDENTIFIED BY sales;
SQL> GRANT CONNECT TO SALES;
复制代码
Note:
如需开启 monit 功能,可参考守护进程完成相关配置。
评论