暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

Yashandb YMP 安装部署

原创 Lucifer三思而后行 2024-09-23
1034

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

目录

前言

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

介绍

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

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

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

数据库类型 支持版本(已验证) 理论兼容版本(未全部验证) 说明
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 并安装成功后,还需配置如下环境变量:

# 以 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):

启动与停止 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 有关的环境变量。

最后修改时间:2024-09-26 10:10:51
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论