0
点赞
收藏
分享

微信扫一扫

Yashandb YMP 安装部署


大家好,这里是公众号 DBA学习之路,分享一些学习国产数据库路上的知识和经验。


目录

  • 前言
  • 介绍
  • 安装前准备
  • 关闭防火墙
  • 用户数参数配置
  • 创建用户
  • 依赖包安装
  • 配置 JAVA8 环境
  • YMP 安装
  • OCI 环境准备(可选)
  • YMP 安装包解压
  • 安装参数调整
  • 默认内置库安装 YMP(推荐方案)
  • 查看运行状态
  • 查看版本
  • 浏览器打开 YMP
  • 启动与停止 YMP
  • 默认内置库启动 YMP
  • 默认内置库停止 YMP
  • 重置密码
  • YMP 卸载


前言

本次 YCP 考试还涉及到了 YMP 迁移工具,本文演示如何快速安装部署一套 YMP 环境。

介绍

崖山迁移平台(YashanDB Migration Platform,YMP)是 YashanDB 提供的数据库迁移产品,提供异构 RDBMS 与 YashanDB 之间进行迁移评估、离线迁移、数据校验的能力。YMP 提供可视化服务,用户只需通过简单的界面操作,即可完成从评估到迁移整个流程的执行与监控,实现低门槛、低成本、高效率的异构数据库迁移。

崖山迁移平台(YashanDB Migration Platform,YMP)的总体架构如下:

Yashandb YMP 安装部署_JAVA

支持的源端数据库类型和版本:

数据库类型

支持版本(已验证)

理论兼容版本(未全部验证)

说明

Oracle

11.2.0.1.0(单机)

11g所有版本(包括单机、RAC)

12.2.0.1.0(单机)

12c所有版本(包括单机、RAC)

19.0.0.0.0(单机、RAC)

19c所有版本(包括单机、RAC)

21.0.0.0.0(单机)

21c所有版本(包括单机、RAC)

MySQL

5.6.51-log(单机)

5.6所有版本(单机)

5.7.42-log(单机)

5.7所有版本(单机)

8.0.23(单机)

8.0所有版本(单机)

DM

DM8.1.3.26(单机)

DM8所有版本(单机)

DM数据库目前只支持原生模式(0)和MySQL模式(4)。

YashanDB

23.2.1.100(单机)

v23.2所有版本(包括单机、RAC)

支持的目标端数据库类型和版本:

数据库类型

支持版本(已验证)

理论兼容版本(未全部验证)

说明

YashanDB

22.2.14.100(单机)

22.2所有版本(单机、共享集群)

23.1.1.200(单机、RAC)

23.1所有版本(单机、共享集群)

23.2.1.100(单机、RAC)、23.2.3.100(单机、RAC)

23.2所有版本(单机、共享集群)

支持的源端数据库数据类型:

数据库

支持数据类型

Oracle

CHAR、NCHAR、VARCHAR2、NVARCHAR2、NUMBER、FLOAT、INT、INTEGER、SMALLINT、DEC、NUMBERIC、DECIMAL、DOUBLE PRECISION、DATE、TIMESTAMP、TIMESTAMP WITH TIME ZONE、TIMESTAMP WITH LOCAL TIME ZONE、INTERVAL YEAR TO MONTH、INTERVAL DAY TO SECOND、LONG、RAW、LONG RAW、CLOB、NCLOB、BLOB、JSON

MySQL

TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、DECIMAL、FLOAT、DOUBLE、TINYINT UNSIGNED、SMALLINT UNSIGNED、MEDIUMINT UNSIGNED、INT UNSIGNED、BIGINT UNSIGNED、CHAR、VARCHAR、DATE、DATETIME、TIMESTAMP、TIME、YEAR、BINARY、VARBINARY、TINYBLOB、TINYTEXT、BLOB、TEXT、MEDIUMBLOB、MEDIUMTEXT、LONGBLOB、LONGTEXT、JSON、BIT、ENUM、SET

DM

TINYINT、SMALLINT、INT、INTEGER、BIGINT、DEC、DECIMAL、REAL、FLOAT、DOUBLE、DOUBLE PRECISION、NUMBER、NUMERIC、CHAR、CHARACTER、VARCHAR、VARCHAR2、NVARCHAR、NVARCHAR2、NCHAR、DATE、TIME、DATETIME、TIMESTAMP、TIME WITH TIME ZONE、TIMESTAMP WITH LOCAL TIME ZONE、TIMESTAMP WITH TIME ZONE、DATETIME WITH TIME ZONE、INTERVAL DAY TO SECOND、INTERVAL YEAR TO MONTH、BINARY、BLOB、CLOB、IMAGE、LONG、VARBINARY、LONGVARBINARY、LONGVARCHAR、RAW、TEXT

官方文档提示:理论兼容版本未进行全部的功能验证,可能需要适配兼容。

安装前准备

官方建议内存至少为 8G,因为安装 YMP 时建议内置安装 YashanDB 用于迁移评估,所以内存不足可能会导致安装失败。

注意:若需要使用数据迁移功能,须保持 YMP 环境与目标端环境的 OPENSSL 版本一致,且都需满足 openssl 版本至少 1.1.1 及以上。

关闭防火墙

YashanDB 安装建议关闭防火墙:

systemctl stop firewalld
systemctl disable firewalld

用户数参数配置

需确保操作系统 max user processes 最大用户线程数不小于 65535:

cat<<-EOF>>/etc/security/limits.d/20-nproc.conf
ymp soft nproc 65536
ymp hard nproc 65536
EOF

创建用户

创建一个用户用于安装YMP,以YMP为例,在用户创建和授权后,后续所有安装步骤均在该用户下操作:

useradd -d /home/ymp -m ymp
echo "ymp:ymp" | chpasswd

依赖包安装

安装 YMP 需要 lsof 命令工具以及 libaio 动态库:

yum install -y lsof libaio

如果没有配置软件源,可以参考:DBA 必备:Linux 软件源配置全攻略

配置 JAVA8 环境

YMP 的 JDK 版本要求参考如下:

依赖项

版本要求

说明

JDK

JDK8、JDK11

1. YMP 仅支持在 JDK8 或 JDK11 的下安装使用。

2.处理器架构为 ARM-64,YMP 所需的 JDK 版本必须为 JDK11,能够有效解决可能出现的数据库连接慢问题。

支持通过 Java 官方路径

# 以 JDK 安装路径为 /usr/tools/jdk8 为例
cat<<-EOF>>/etc/profile
export JAVA_HOME=/usr/tools/jdk8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
EOF
# 重新载入配置文件
source /etc/profile
# 安装成功后查看 JDK 版本信息
java -version

YMP 安装

OCI 环境准备(可选)

如需要使用 Oracle 到 YashanDB 的数据迁移功能,请进行 OCI 环境安装,OCI 版本要求参考如下:

依赖项

版本要求

说明

OCI 客户端

19.19.0.0.0及以上版本

准备 OCI 环境需从 Oracle 官网下载 OCI 客户端并依据官网所列步骤进行安装。

根据处理器架构不同,建议下载和安装的版本信息如下:

1. instantclient-basic-linux.x64-19.19.0.0.0dbru.el9.zip

2. instantclient-basic-linux.arm64-19.10.0.0.0dbru-2.zip

OCI 下载地址(链接直达官方下载):instantclient-basic-linux.x64-19.19.0.0.0dbru.el9.zip

上传 OCI 安装包至 YMP 用户 /home/ymp/ 路径,手动解压即可:

[root@ymp ~]# chown ymp:ymp /home/ymp/instantclient-basic-linux.x64-19.19.0.0.0dbru.el9.zip
[root@ymp ~]# su - ymp
[ymp@ymp ~]$ unzip -q instantclient-basic-linux.x64-19.19.0.0.0dbru.el9.zip

后续安装 YMP 需要指定解压文件路径。

YMP 安装包解压

上传 YMP 安装包至 /home/ymp 目录下然后解压:

# 修改安装包所属用户及用户组为 ymp 用户
[root@ymp ~]# chown ymp:ymp /home/ymp/yashan-migrate-platform-v23.2.1.3-linux-x86-64.zip
[root@ymp ~]# chown ymp:ymp /home/ymp/yashandb-personal-23.2.3.100-linux-x86_64.tar.gz
[root@ymp ~]# su - ymp
[ymp@ymp ~]$ unzip -q yashan-migrate-platform-v23.2.1.3-linux-x86-64.zip

安装参数调整

依据实际需要对默认内置库安装及 YMP 启动参数进行调整(参数配置文件存放在 /home/ymp/yashan-migrate-platform/conf 目录):

  • 默认内置库安装配置文件:db.properties
  • YMP 配置文件:application.properties

📢注意:如果系统内存不足 8G,可以在安装 YMP 前将 ymp_memory 参数修改为 2G,默认值为 4G。

默认内置库安装 YMP(推荐方案)

YMP 安装时按默认方式自行安装 YashanDB 作为内置库。默认内置库相关信息:

  • 1、部署形态:单机
  • 2、集群名称:ymp
  • 3、安装目录:/home/ymp/yashan-migrate-platform/db

进入安装目录查看帮助文档:

[ymp@ymp ~]$ cd /home/ymp/yashan-migrate-platform/bin
[ymp@ymp bin]$ ./ymp.sh -h

Usages: ./ymp.sh [<flags>] <command>

Yashan-migrate-platform version: Release v23.2.1.3

Flags:
    -h,--help                   Show detailed help information
    -v,--version                Show Yashan-migrate-platform version information

Commonly used commands:
    install                     Initialize YMP with the built-in database and start
        --db <package path>       new yashandb and yasldr package path
      [ --path <oci path> ]       absolute path of the OCI installation
    restart                     Restart YMP with the built-in database
    status                      View status of YMP and built-in database
    uninstall                   Uninstall the built-in database
      [ -f ]                      force clean the environment
    upgrade                     Upgrade old version of YMP to new version
        --from <ymp path>         path of old version of YMP
      [ --db <package path> ]     new yashandb and yasldr package path
      [ --path <oci path> ]       absolute path of the OCI installation
    password                    Change the password of YMP
        --sys <password>          change sys password of built-in database in db.properties
      | --user <password>         change user password of database in application.properties
    connection                  Change url、username、password of YMP
        --url <url path>          change url in application.properties
        --username <username>     change username in application.properties
        --password <password>     change password in application.properties


Other commands:
    start                       Start YMP with the built-in database
    stop                        Stop YMP with the built-in database
    startnodb                   Start YMP with external database
    stopnodb                    Stop YMP with external database
    restartnodb                 Restart YMP with external database
    replace                     Replace yasldr version, need to restart ymp
       --yasldr <package path>    new yasldr package path
    installnodb                 Initialize YMP with external database and start
       --db <package path>        new yasldr package path
      [ --path <oci path> ]       absolute path of the OCI installation

官方建议使用内置库方式安装 YMP,如果不使用内置库方式安装,则需要创建一个 ymp 用户(以 YMP_DEFAULT 为例)并为其授权:

-- 本文不需要做
SQL> create user YMP_DEFAULT IDENTIFIED BY ymppw602 DEFAULT TABLESPACE users;
SQL> GRANT ALL PRIVILEGES TO YMP_DEFAULT;
SQL> GRANT DBA TO YMP_DEFAULT;

依据实际需要对默认内置库安装及 YMP 启动参数进行调整:

# 进入安装目录执行更改密码命令,以 yasdb_123 为例:
[ymp@ymp ~]$ cd /home/ymp/yashan-migrate-platform/bin/
[ymp@ymp bin]$ ./ymp.sh password --sys yasdb_123
2024-09-19 22:40:47 INFO    --- [main] com.sics.command.YmpCommandMain : 指令入参:["--operation","password","--sys","yasdb_123"]
2024-09-19 22:40:47 INFO    --- [main] com.sics.command.serviceimpl.PasswordServiceImpl : Update sys password and salt successfully!
2024-09-19 22:40:47 INFO    --- [main] com.sics.command.operation.FunctionOperation : YMP update password for SYS user successfully!

以上配置仅在安装部署前执行前生效。

执行内置库安装 YMP:

# (Oracle 做数据源的推荐方案):安装内置库和 OCI 客户端并启动 YMP
[ymp@ymp ~]$ cd /home/ymp/yashan-migrate-platform/bin/
[ymp@ymp bin]$ ./ymp.sh install --db /home/ymp/yashandb-personal-23.2.3.100-linux-x86_64.tar.gz --path /home/ymp/instantclient_19_19
2024-09-19 22:44:43 INFO    --- [main] com.sics.command.YmpCommandMain : 指令入参:["--operation","install","--db","/home/ymp/yashandb-personal-23.2.3.100-linux-x86_64.tar.gz","--path","/home/ymp/instantclient_19_19","--ip","192.168.6.167","--memory","4G"]
2024-09-19 22:44:46 INFO    --- [main] com.sics.command.serviceimpl.CheckServiceImpl : Check for env before install is successfully!
2024-09-19 22:44:51 INFO    --- [main] com.sics.command.serviceimpl.PackageServiceImpl : Db package unpackage successfully!
2024-09-19 22:44:51 INFO    --- [main] com.sics.command.serviceimpl.CheckServiceImpl : OCI version is 19.19.0.0.0!
2024-09-19 22:44:56 INFO    --- [main] com.sics.command.serviceimpl.PackageServiceImpl : Yasldr package unpackage successfully!
2024-09-19 22:44:56 INFO    --- [main] com.sics.command.util.CommandUtil : host host0001 openssl version: OpenSSL 1.1.1l  24 Aug 2021
2024-09-19 22:44:56 INFO    --- [main] com.sics.command.util.CommandUtil : OpenSSL version is 1.1.1 or greater
2024-09-19 22:44:56 INFO    --- [main] com.sics.command.util.CommandUtil : host host0001 openssl version: OpenSSL 1.1.1l  24 Aug 2021
2024-09-19 22:44:56 INFO    --- [main] com.sics.command.util.CommandUtil : OpenSSL version is 1.1.1 or greater
2024-09-19 22:44:56 INFO    --- [main] com.sics.command.util.CommandUtil :  hostid   | group | node_type | node_name | listen_addr  | replication_addr | data_path
2024-09-19 22:44:56 INFO    --- [main] com.sics.command.util.CommandUtil : ----------------------------------------------------------------------------------------------------------------------------
2024-09-19 22:44:56 INFO    --- [main] com.sics.command.util.CommandUtil :  host0001 | dbg1  | db        | 1-1       | 0.0.0.0:8091 | 127.0.0.1:8092   | /home/ymp/yashan-migrate-platform/db/data/ymp
2024-09-19 22:44:56 INFO    --- [main] com.sics.command.util.CommandUtil : ----------+-------+-----------+-----------+--------------+------------------+-----------------------------------------------
2024-09-19 22:44:56 INFO    --- [main] com.sics.command.util.CommandUtil :
2024-09-19 22:44:56 INFO    --- [main] com.sics.command.util.CommandUtil : Generate config success
2024-09-19 22:45:05 INFO    --- [main] com.sics.command.util.CommandUtil : host host0001 openssl version: OpenSSL 1.1.1l  24 Aug 2021
2024-09-19 22:45:05 INFO    --- [main] com.sics.command.util.CommandUtil : OpenSSL version is 1.1.1 or greater
2024-09-19 22:45:05 INFO    --- [main] com.sics.command.util.CommandUtil : checking install profile.toml...
2024-09-19 22:45:05 INFO    --- [main] com.sics.command.util.CommandUtil : install version: yashandb 23.2.3.100
2024-09-19 22:45:05 INFO    --- [main] com.sics.command.util.CommandUtil : update host to yasom...
                                                                            type | uuid             | name               | hostid | index | status  | return_code | progress | cost
2024-09-19 22:45:41 INFO    --- [main] com.sics.command.util.CommandUtil : ---------------------------------------------------------------------------------------------------------
2024-09-19 22:45:41 INFO    --- [main] com.sics.command.util.CommandUtil :  task | 23c4a3c120ffbc68 | DeployYasdbCluster | -      | ymp   | SUCCESS | 0           | 100      | 33
2024-09-19 22:45:41 INFO    --- [main] com.sics.command.util.CommandUtil : ------+------------------+--------------------+--------+-------+---------+-------------+----------+------
2024-09-19 22:45:41 INFO    --- [main] com.sics.command.util.CommandUtil : task completed, status: SUCCESS
                                                                            type | uuid             | name             | hostid | index | status  | return_code | progress | cost
2024-09-19 22:45:45 INFO    --- [main] com.sics.command.util.CommandUtil : -------------------------------------------------------------------------------------------------------
2024-09-19 22:45:45 INFO    --- [main] com.sics.command.util.CommandUtil :  task | 3aae570c40510c80 | StopYasdbCluster | -      | ymp   | SUCCESS | 0           | 100      | 3
2024-09-19 22:45:45 INFO    --- [main] com.sics.command.util.CommandUtil : ------+------------------+------------------+--------+-------+---------+-------------+----------+------
2024-09-19 22:45:45 INFO    --- [main] com.sics.command.util.CommandUtil : task completed, status: SUCCESS
2024-09-19 22:45:45 INFO    --- [main] com.sics.command.util.CommandUtil : YashanDB Loader Personal Edition Release 23.2.3.100 x86_64 f3452be
                                                                            type | uuid             | name              | hostid | index | status  | return_code | progress | cost
2024-09-19 22:45:51 INFO    --- [main] com.sics.command.util.CommandUtil : --------------------------------------------------------------------------------------------------------
2024-09-19 22:45:51 INFO    --- [main] com.sics.command.util.CommandUtil :  task | 47a4a6ef3b670c73 | StartYasdbCluster | -      | ymp   | SUCCESS | 0           | 100      | 4
2024-09-19 22:45:51 INFO    --- [main] com.sics.command.util.CommandUtil : ------+------------------+-------------------+--------+-------+---------+-------------+----------+------
2024-09-19 22:45:51 INFO    --- [main] com.sics.command.util.CommandUtil : task completed, status: SUCCESS
[Mem:, 7981, 2902, 969, 13, 4109, 4985]
2024-09-19 22:45:51 INFO    --- [main] com.sics.command.util.CommandUtil : Sep 19, 2024 10:45:51 PM com.sics.migrate.port.common.jna.CallDts dtscInitLog
2024-09-19 22:45:51 INFO    --- [main] com.sics.command.util.CommandUtil : INFO: ### call dtscInitLog!
2024-09-19 22:45:51 INFO    --- [main] com.sics.command.util.CommandUtil : Sep 19, 2024 10:45:51 PM com.sics.migrate.port.common.jna.CallDts dtscInitLog
2024-09-19 22:45:51 INFO    --- [main] com.sics.command.util.CommandUtil : INFO: ### finished dtscInitLog!
2024-09-19 22:45:51 INFO    --- [main] com.sics.command.serviceimpl.CheckServiceImpl : Yasdts environment check successfully!
2024-09-19 22:45:52 INFO    --- [main] com.sics.command.serviceimpl.PasswordServiceImpl : Update sys password and salt successfully!
YMP started successfully!

查看运行状态

查看运行状态,检查是否安装成功:

[ymp@ymp ~]$ cd /home/ymp/yashan-migrate-platform/bin/
[ymp@ymp bin]$ ./ymp.sh status
2024-09-19 22:46:52 INFO    --- [main] com.sics.command.YmpCommandMain : 指令入参:["--operation","status"]
2024-09-19 22:46:52 INFO    --- [main] com.sics.command.serviceimpl.StatusServiceImpl : YMP is running, pid is 3349.
2024-09-19 22:46:52 INFO    --- [main] com.sics.command.serviceimpl.StatusServiceImpl : Built-in database is used, pid is 3349.

查看版本

[ymp@ymp bin]$ ./ymp.sh -v
2024-09-19 23:05:08 INFO    --- [main] com.sics.command.YmpCommandMain : 指令入参:["--operation","version"]
2024-09-19 23:05:08 INFO    --- [main] com.sics.command.util.CommandUtil : YashanDB Loader Personal Edition Release 23.2.3.100 x86_64 f3452be
2024-09-19 23:05:08 INFO    --- [main] com.sics.command.operation.QueryOperation :
Yashan-migrate-platform version: Release v23.2.1.3
YashanDB SQL Enterprise Edition Release 23.2.3.100 x86_64
YashanDB Loader Personal Edition Release 23.2.3.100 x86_64 f3452be

浏览器打开 YMP

YMP 支持浏览器 Google Chrome、Microsoft Edge 和 Firefox,建议使用当前较新的版本:

浏览器支持

要求版本

Google Chrome

88 及以上版本

Microsoft Edge

88 及以上版本

Firefox

78 及以上版本

访问方式:http://IP:PORT/,PORT 默认 8090,初始账户名和密码是(admin/admin):

Yashandb YMP 安装部署_JAVA_02

Yashandb YMP 安装部署_yashandb_03

启动与停止 YMP

默认内置库启动 YMP

[ymp@ymp ~]$ cd /home/ymp/yashan-migrate-platform/bin/
[ymp@ymp bin]$ ./ymp.sh start

默认内置库停止 YMP

[ymp@ymp ~]$ cd /home/ymp/yashan-migrate-platform/bin/
[ymp@ymp bin]$ ./ymp.sh stop

在任务运行过程中停止或重启 YMP 会造成当前阶段任务运行失败,需重新开始当前阶段任务。

重置密码

# 对登录用户密码进行重置时,需保证YMP业务库处于正常运行状态
[ymp@ymp ~]$ cd /home/ymp/yashan-migrate-platform/bin/
[ymp@ymp bin]$ ./ymp.sh password --reset
# 重启YMP
[ymp@ymp bin]$ ./ymp.sh restart

YMP 卸载

卸载YMP时,会删除默认内置库(自定义内置库不受影响)并清空db和yashan_client文件夹,若想替换数据库版本,请在卸载后重新部署:

$ cd /home/ymp/yashan-migrate-platform/
$ sh bin/ymp.sh uninstall
 
## 使用 uninstall 功能时可携带 -f 参数,强制清理环境
$ sh bin/ymp.sh uninstall -f
  
## 验证
$ ps -ef | grep yas | grep -v grep

强制清理功能会使用 kill -9 强制清理当前用户下 YMP 启动的所有进程,并删除内置库及 yasldr 文件夹下所有内容,请谨慎使用,建议在专用的 YMP 用户下使用。最后还需要手动删除 ~/.bashrc 中与 YashanDB 有关的环境变量。


举报

相关推荐

0 条评论