#om安装
OM安装方式由YashanDB配套的yasboot工具实现(位于安装包的bin目录下),可用于YashanDB所有架构下的安装部署,仅有通过OM方式安装的产品才能纳入OM管理。
本文以yashandb-22.2.2.0-linux-x86_64.tar.gz软件包为例介绍YashanDB的安装过程。
# 单机部署
Step1:获取yasboot安装工具
登录到yasboot工具所在的Linux环境。
上传软件包(以/home/yashan/install路径为例),解压。
$ cd /home/yashan/install $ tar -zxf yashandb-22.2.2.0-linux-x86_64.tar.gz
查看解压目录下的所有文件内容。
$ ll total 268852 drwxrwxr-x 6 yashan yashan 70 Mar 13 16:22 admin drwxrwxr-x 3 yashan yashan 234 Mar 13 16:22 bin drwxrwxr-x 2 yashan yashan 93 Mar 13 16:22 conf -rw-rw-r-- 1 yashan yashan 11186 Mar 13 16:22 gitmoduleversion.dat drwxrwxr-x 2 yashan yashan 65 Mar 13 16:22 include drwxrwxr-x 3 yashan yashan 17 Mar 13 16:22 java drwxr-xr-x 2 yashan yashan 4096 Mar 13 16:22 lib drwxrwxr-x 2 yashan yashan 115 Mar 13 16:22 scripts -rw-r--r-- 1 yashan yashan 275284704 Mar 13 17:33 yashandb-22.2.2.0-linux-x86_64.tar.gz
Step2:安装参数调整
生成配置文件。
#数据库安装初始参数,yashandb为部署的集群名称,yashan为主机用户名,192.168.1.2为本机ip地址,22为主机连接端口,install-path指定数据库安装路径,data-path指定数据存放目录,1688为起始端口,SE为单机数据库 $ ./bin/yasboot package config gen --cluster yashandb -u yashan -p ssh登录密码 --ip 192.168.1.2 --port 22 --install-path /home/yashan/yasdb_home --data-path /home/yashan/yasdb_data --begin-port 1688 --yas-type SE hostid | group | node_type | node_name | listen_addr | din_addr | replication_addr | data_path --------------------------------------------------------------------------------------------------------------------------- host0001 | dbg1 | db | 1-1 | 192.168.1.2:1688 | 192.168.1.2:1689 | 192.168.1.2:1690 | /home/yashan/yasdb_data ----------+-------+-----------+-----------+--------------+----------------+------------------+----------------------------- Generate config success
查看当前的文件夹生成的新文件,OM为部署的yasom存储路径,yashandb.toml为数据库集群的配置文件,hosts.toml为主机的配置文件,可手动修改。
-rw------- 1 yashan yashan 3073 Mar 13 17:44 yashandb.toml drwxr-xr-x 2 yashan yashan 25 Mar 13 17:44 om -rw------- 1 yashan yashan 304 Mar 13 17:44 hosts.toml
调整安装参数。
查看yashandb.toml文件中的初始安装参数。
cluster = "yashandb" #安装后不可修改,除非重新安装 sys_password = "Cod-2022" #部署后修改yashandb.toml的密码无效,如需修改请参照step5进行操作 uuid = "6413d1b8cdc988466cb4057e51d640cb" #系统自动生成,不可修改 yas_type = "SE"#部署模式,不可修改 [[group]] group_type = "db" #安装后不可修改,除非重新安装 name = "dbg1" #安装后不可修改,除非重新安装 [group.config]#可配置所有建库参数,不配置时采用默认值 ISARCHIVELOG = true #安装后不可修改,除非重新建库 CHARACTER_SET = "utf8"#安装后不可修改,除非重新建库 REDO_FILE_NUM = 4#安装后不可修改,除非重新建库 REDO_FILE_SIZE = "70M"#安装后不可修改,除非重新建库 [[group.node]] data_path = "/home/yashan/yasdb_data" #为DATA目录,安装后不可修改,除非重新安装 hostid = "host0001" #安装后不可修改,除非重新安装 role = 1 #初始主备角色,通过主备切换操作修改 [group.node.config] #可配置所有数据库参数,不配置时采用默认值,且可在安装后修改配置(只读参数不可修改) LISTEN_ADDR = "192.168.1.2:1688" REPLICATION_ADDR = "192.168.1.2:1690" RUN_LOG_FILE_PATH = "/home/yashan/yasdb_home/yashandb/22.2.2.0/log/yashandb/db-1-1/run" RUN_LOG_LEVEL = "INFO" SLOW_LOG_FILE_PATH = "/home/yashan/yasdb_home/yashandb/22.2.2.0/log/yashandb/db-1-1/slow" NODE_ID=1-1:1 #计划启用自动选举时,此参数必须配置,且需保证各节点上的值不同
查看hosts.toml文件中的初始安装参数。
cluster = "yashandb" #安装后不可修改 [om] hostid = "host0001" [om.config] LISTEN_ADDR = "192.168.1.2:1675" [[host]] hostid = "host0001" user = "yashan" #为主机ssh用户名 password ="password" #为ssh登录密码 ip = "192.168.1.2" port = 22 path = "/home/yashan/yasdb_home" #为HOME目录,安装后不可修改 [host.yasagent] [host.yasagent.config] LISTEN_ADDR = "192.168.1.2:1676"
参考资源规划、数据库配置调优和自身环境配置调整上述参数。如所安装环境为高可用的Raft集群(自动选举),还需参考高可用。
Step3:执行安装
执行安装命令。
#于安装包目录下执行如下命令,不同目录时需指定安装包路径和名称。 $ ./bin/yasboot package install -t hosts.toml -i yashandb-22.2.2.0-linux-x86_64.tar.gz checking install package... install version: yashandb 22.2.0.9 host0001 100% [====================================================================] 3s update host to yasom...
Step4:数据库部署
执行部署命令。
#于安装包目录下执行如下命令,不同目录时需指定安装包路径和名称。 $ ./bin/yasboot cluster deploy -t yashandb.toml type | uuid | name | hostid | index | status | return_code | progress | cost ---------------------------------------------------------------------------------------------------------- task | 42d20a39a8858737 | DeployYasdbCluster | - | yashandb | SUCCESS | 0 | 100 | 21 ------+------------------+--------------------+--------+--------+---------+-------------+----------+------ task completed, status: SUCCESS
生效环境变量(此步骤及后续步骤需以yashan用户登录到每个节点上执行)。
#部署命令成功执行后将会在$YASDB_HOME目录下的conf文件夹中生成集群名称.bashrc环境变量文件 $ cd /home/yashan/yasdb_home/yashandb/22.2.2.0/conf $ source yashandb.bashrc
step5:设置sys用户口令
使用yaspwd工具设置sys用户(YashanDB的超级管理员账号)的密码。
$ cd /home/yashan/yasdb_data/db-1-1/instance $ mv yasdb.pwd yasdb1.pwd $ yaspwd file=yasdb.pwd Enter password for SYS:
使用yasboot工具设置集群内所有节点sys用户的密码。
$ yasboot cluster password set -n newpasswd -c yashandb
如需为sys用户配置操作系统身份认证,请参照操作系统身份认证配置文档所述操作。
Step6:验证安装是否成功
执行查看数据库状态命令。
$ yasboot cluster status -c yashandb host_id | node_type | nodeid | pid --------------------------------------- host0001 | db | 1-1:1 | 15257 ----------+-----------+--------+-------
使用yasql工具连接数据库,查看实例状态。
$ yasql sys/password #密码登录 SQL> SELECT STATUS FROM V$INSTANCE; STATUS --------- OPEN SQL> SELECT database_name FROM v$database; DATABASE_NAME ---------------------------------------------------------------- yashandb
如连接报错,或执行SQL语句报错,请根据错误提示信息检查安装步骤,或咨询我们的技术支持。
卸载YashanDB产品
DATA目录清理。
yasboot cluster clean --cluster yashandb --purge
HOME目录清理。
yasboot package uninstall --cluster yashandb
清除~/.bashrc中与YashanDB有关的环境变量,见环境变量文档所述内容。
# 单机高可用部署
Step1:获取yasboot安装工具
登录到yasboot工具所在的Linux环境。
上传软件包(以/home/yashan/install路径为例),解压。
$ cd /home/yashan/install $ tar -zxf yashandb-22.2.2.0-linux-x86_64.tar.gz
查看解压目录下的所有文件内容。
$ ll total 268852 drwxrwxr-x 6 yashan yashan 70 Mar 13 16:22 admin drwxrwxr-x 3 yashan yashan 234 Mar 13 16:22 bin drwxrwxr-x 2 yashan yashan 93 Mar 13 16:22 conf -rw-rw-r-- 1 yashan yashan 11186 Mar 13 16:22 gitmoduleversion.dat drwxrwxr-x 2 yashan yashan 65 Mar 13 16:22 include drwxrwxr-x 3 yashan yashan 17 Mar 13 16:22 java drwxr-xr-x 2 yashan yashan 4096 Mar 13 16:22 lib drwxrwxr-x 2 yashan yashan 115 Mar 13 16:22 scripts -rw-r--r-- 1 yashan yashan 275284704 Mar 13 17:33 yashandb-22.2.2.0-linux-x86_64.tar.gz
Step2:安装参数调整
执行yasboot package命令生成配置文件,命令详细参数可查阅yasboot。
其中,--cluster指定为要部署的数据库集群名称,该名称也将作为集群中所有节点上初始创建数据库的名称(database name),--port指定SSH服务端口,--install-path指定数据库安装路径,--data-path指定数据存放目录,--begin-port指定数据库监听端口,--node指定主备节点总数量。
$ ./bin/yasboot package config gen --cluster yashandb -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 --begin-port 1688 --yas-type SE --db 3
- 上一步骤执行完毕后,当前目录下将生成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
# 以下内容以实际展示结果为准
cluster = "yashandb" #安装后修改也不会生效,除非重新安装
create_simple_schema = false #为true部署完会执行示例的sql,若改为true需要在deploy时指定sys-password参数
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]]
data_path = "/home/yashan/yasdb_data" #为DATA目录,安装后修改也不会生效,除非重新安装
hostid = "host0001" #安装后修改也不会生效,除非重新安装
role = 1 #数据库主备角色,安装后修改也不会生效,除非重新安装
[group.node.config] #可配置所有数据库参数,不配置时采用默认值,安装后修改可以生效(只读参数不可修改)
LISTEN_ADDR = "192.168.1.2:1688"
REPLICATION_ADDR = "192.168.1.2:1689"
RUN_LOG_FILE_PATH = "/home/yashan/yasdb_home/yashandb/22.2.2.0/log/yashandb/db-1-1/run"
RUN_LOG_LEVEL = "INFO"
SLOW_LOG_FILE_PATH = "/home/yashan/yasdb_home/yashandb/22.2.2.0/log/yashandb/db-1-1/slow"
[[group.node]]
data_path = "/home/yashan/yasdb_data"
hostid = "host0002"
role = 2
[group.node.config]
LISTEN_ADDR = "192.168.1.3:1688"
REPLICATION_ADDR = "192.168.1.3:1690"
RUN_LOG_FILE_PATH = "/home/yashan/yasdb_home/yashandb/22.2.2.0/log/yashandb/db-1-1/run"
RUN_LOG_LEVEL = "INFO"
SLOW_LOG_FILE_PATH = "/home/yashan/yasdb_home/yashandb/22.2.2.0/log/yashandb/db-1-1/slow"
[[group.node]]
data_path = "/home/yashan/yasdb_data"
hostid = "host0003"
role = 2
[group.node.config]
LISTEN_ADDR = "192.168.1.4:1688"
REPLICATION_ADDR = "192.168.1.4:1690"
RUN_LOG_FILE_PATH = "/home/yashan/yasdb_home/yashandb/22.2.2.0/log/yashandb/db-1-1/run"
RUN_LOG_LEVEL = "INFO"
SLOW_LOG_FILE_PATH = "/home/yashan/yasdb_home/yashandb/22.2.2.0/log/yashandb/db-1-1/slow"
Step3: 执行安装
$ ./bin/yasboot package install -t hosts.toml -i yashandb-22.2.2.0-linux-x86_64.tar.gz
Step4: 数据库部署
- 执行部署命令。
$ ./bin/yasboot cluster deploy -t yashandb.toml
- 生效环境变量(此步骤需以yashan用户登录到每个节点上执行)。
#部署命令成功执行后将会在$YASDB_HOME目录下的conf文件夹中生成<<集群名称>>.bashrc环境变量文件
$ cd /data/yashan/yasdb_home/yashandb/22.2.2.0/conf
# 如~/.bashrc中已存在YashanDB相关的环境变量,将其清除
$ cat yashandb.bashrc >> ~/.bashrc
$ source ~/.bashrc
如需使用外置UDF(JAVA),请配置如下环境变量。
#如下路径需更换为实际的jdk安装路径
export LD_LIBRARY_PATH=/etc/jdk-18.0.2/lib/server:$LD_LIBRARY_PATH
Step5: 修改sys用户口令
YashanDB不提供系统初始口令,请通过yasboot工具设置集群内所有节点sys用户的密码。
$ ./bin/yasboot cluster password set -n newpasswd -c yashandb
Step6:验证安装是否成功
- 执行查看数据库状态命令。
$ ./bin/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/data/yashandb/db-1-1
----------+-----------+--------+-------+-----------------+-----------------+---------------+--------------------+---------------------------------------------
host0002 | db | 1-2:2 | 54815 | open | normal | standby | 192.168.1.3:1688 | /data/yashan/yasdb_data/data/yashandb/db-1-2
----------+-----------+--------+-------+-----------------+-----------------+---------------+--------------------+---------------------------------------------
host0003 | db | 1-3:3 | 54816 | open | normal | standby | 192.168.1.4:1688 | /data/yashan/yasdb_data/data/yashandb/db-1-3
----------+-----------+--------+-------+-----------------+-----------------+---------------+--------------------+---------------------------------------------
- 使用yasboot工具连接数据库,查看实例状态。
$ ./bin/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
如连接报错,或执行SQL语句报错,请根据错误提示信息检查安装步骤,或咨询我们的技术支持。
卸载YashanDB产品
- 检查当前环境是否开启了仲裁,若已开启仲裁,需关闭仲裁再卸载。
$ yasboot election config show -c yashandb
group 1
Protection Mode: MAXIMUM PROTECTION
Members:
[1-1:1] - Primary database
[1-2:2] - Physical standby database
Transport Lag: 0 seconds
Apply Lag: 0 seconds
Apply Rate: 3.79 MByte/s
Properties:
FailoverThreshold = 9
FailoverAutoReinstate = false
ZeroDataLossMode = true
Automatic Failover: Enabled in Zero Data Loss Mode # Enabled表示已开启仲裁
关闭仲裁:
$ yasboot election enable off -c yashandb
DATA目录清理。
yasboot cluster clean --cluster yashandb --purge
HOME目录清理。
yasboot package uninstall --cluster yashandb
清除~/.bashrc中与YashanDB有关的环境变量,见环境变量文档所述内容。
Step6:创建数据库用户(可选)
使用yasql工具连接数据库并创建sales用户。
$ ./bin/yasql sys/password@192.168.1.2:1688
SQL> CREATE USER sales IDENTIFIED BY sales;
SQL> GRANT CONNECT TO SALES;
# 分布式部署
对于生产环境,YashanDB所提供的安装方式基于高可用自动选举形态(节点组内至少一主两备),具体操作见分布式高可用部署章节描述。
对于测试环境,YashanDB提供按minidb的最小安装方式(所有节点部署在一台主机,非高可用),此种安装方式在除第一步生成配置文件与生产环境不同,其他步骤一致。
#按照minidb规模安装生成配置文件,minidb为部署的集群名称,yashan为主机用户名,192.168.1.2为本机ip地址,22为主机连接端口,install-path指定数据库安装路径,data-path指定数据存放目录,1688为起始端口,DE为分布式数据库
$ ./bin/yasboot package config gen --cluster minidb -u yashan -p ssh登录密码 --ip 192.168.1.2 --port 22 --install-path /home/yashan/yasdb_home --data-path /home/yashan/yasdb_data --begin-port 1688 --yas-type DE