#om安装

OM安装方式由YashanDB配套的yasboot工具实现(位于安装包的bin目录下),可用于YashanDB所有架构下的安装部署,仅有通过OM方式安装的产品才能纳入OM管理。

本文以yashandb-22.2.2.0-linux-x86_64.tar.gz软件包为例介绍YashanDB的安装过程。

# 单机部署

Step1:获取yasboot安装工具

  1. 登录到yasboot工具所在的Linux环境。

  2. 上传软件包(以/home/yashan/install路径为例),解压。

    $ cd /home/yashan/install
    $ tar -zxf yashandb-22.2.2.0-linux-x86_64.tar.gz
    
  3. 查看解压目录下的所有文件内容。

    $ 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:安装参数调整

  1. 生成配置文件。

    #数据库安装初始参数,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
    
  2. 查看当前的文件夹生成的新文件,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
    
  3. 调整安装参数。

    查看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"
    
  4. 参考资源规划数据库配置调优和自身环境配置调整上述参数。如所安装环境为高可用的Raft集群(自动选举),还需参考高可用

Step3:执行安装

  1. 执行安装命令。

    #于安装包目录下执行如下命令,不同目录时需指定安装包路径和名称。
    $ ./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:数据库部署

  1. 执行部署命令。

    #于安装包目录下执行如下命令,不同目录时需指定安装包路径和名称。
    $ ./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
    
  2. 生效环境变量(此步骤及后续步骤需以yashan用户登录到每个节点上执行)。

    #部署命令成功执行后将会在$YASDB_HOME目录下的conf文件夹中生成集群名称.bashrc环境变量文件
    $ cd /home/yashan/yasdb_home/yashandb/22.2.2.0/conf
    $ source yashandb.bashrc
    

step5:设置sys用户口令

  1. 使用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:
    
  2. 使用yasboot工具设置集群内所有节点sys用户的密码。

    $ yasboot cluster password set -n newpasswd -c yashandb
    
  3. 如需为sys用户配置操作系统身份认证,请参照操作系统身份认证配置文档所述操作。

Step6:验证安装是否成功

  1. 执行查看数据库状态命令。

    $ yasboot cluster status -c yashandb
      host_id  | node_type | nodeid | pid   
    ---------------------------------------
     host0001 | db        | 1-1:1  | 15257 
    ----------+-----------+--------+-------
    
  2. 使用yasql工具连接数据库,查看实例状态。

    $ yasql sys/password  #密码登录
    
    SQL> SELECT STATUS FROM V$INSTANCE;
    STATUS   
    ---------
    OPEN
    
    SQL> SELECT database_name FROM v$database;
    DATABASE_NAME                                                    
    ---------------------------------------------------------------- 
    yashandb  
    
  3. 如连接报错,或执行SQL语句报错,请根据错误提示信息检查安装步骤,或咨询我们的技术支持。

卸载YashanDB产品

  1. DATA目录清理。

    yasboot cluster clean --cluster yashandb --purge 
    
  2. HOME目录清理。

    yasboot package uninstall --cluster yashandb
    
  3. 清除~/.bashrc中与YashanDB有关的环境变量,见环境变量文档所述内容。

# 单机高可用部署

Step1:获取yasboot安装工具

  1. 登录到yasboot工具所在的Linux环境。

  2. 上传软件包(以/home/yashan/install路径为例),解压。

    $ cd /home/yashan/install
    $ tar -zxf yashandb-22.2.2.0-linux-x86_64.tar.gz
    
  3. 查看解压目录下的所有文件内容。

    $ 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:安装参数调整

  1. 执行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
  1. 上一步骤执行完毕后,当前目录下将生成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参数
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: 数据库部署

  1. 执行部署命令。
$ ./bin/yasboot cluster deploy -t yashandb.toml
  1. 生效环境变量(此步骤需以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:验证安装是否成功

  1. 执行查看数据库状态命令。
$ ./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
----------+-----------+--------+-------+-----------------+-----------------+---------------+--------------------+---------------------------------------------
  1. 使用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产品

  1. 检查当前环境是否开启了仲裁,若已开启仲裁,需关闭仲裁再卸载。
$ 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
  1. DATA目录清理。

    yasboot cluster clean --cluster yashandb --purge 
    
  2. HOME目录清理。

    yasboot package uninstall --cluster yashandb
    
  3. 清除~/.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
pdf-btn 下载文档
copy-btn 复制链接