Portal数据迁移插件介绍
版本介绍
data-migration项目目前版本为1.0.0。
功能特性介绍
1、可将MySQL源端数据库通过在线或离线的方式将数据迁移至openGauss目的端数据库
2、实现MySQL迁移前预检查,Datakit通过调用Portal命令进行全量迁移、反向迁移以及增量迁移前预检查,保证迁移任务成功率。
3、基于资源最大化原则分配调度迁移任务运行机器
4、可批量管理迁移任务
版本使用注意事项
- data-migration为一个Java 插件,在构建时需确保配置Java 11+的JDK
安装说明
-
#下载源码: git clone git@gitee.com:opengauss/openGauss-workbench.git #进入根目录 cd data-migration #编译打包 mvn clean package -Dmaven.test.skip -
打包完成后在data-migration/target目录中找到data-migration-{version}-repackage.jar即为插件安装包。
-
打开并登录openGauss Datakit,点击插件管理-安装插件,将上诉步骤获得的安装包上传并安装。
DataKit安装Portal说明
- Datakit成功安装data-migration插件
- 访问Datakit服务,点击进入”数据迁移->迁移任务中心”目录下
- 点击“创建数据迁移任务”按钮
- 开始“选择迁移源库和目的库”步骤,分别选择源端数据库(database),选择目的端数据库(database),并点击“添加子任务”按钮。如果无数据源,点击“新增数据源”,输入所需参数进行新增。
添加子任务成功后,在页面下方选择对应子任务的“迁移过程模式”,支持在线模式和离线模式。离线模式:自动执行全量迁移,完成后自动结束,释放资源。 在线模式:自动执行全量迁移+增量迁移,用户手动启动反向迁移,需要用户操作结束迁移,释放资源。
“选择迁移源库和目的库”配置成功,点击下一步。 - 进入“配置迁移过程参数”步骤,可直接使用默认参数,直接点击“下一步”。
- 进入“分配执行机资源”步骤,页面会展示所有的执行机列表信息,选择对应执行机点击“开始安装”,进入“迁移套件安装”步骤。
此处如果无执行机信息显示,请前往“资源中心->服务器管理”添加服务器资源,注意添加服务器时需要勾选“记住密码”,添加服务器成功后,页面会显示添加成功的服务器记录。
点击所需服务器记录右侧的“用户管理”,添加普通用户。至此,此服务器可作为安装portal的执行机。 - 进行portal安装,
“安装用户”选择上述添加的服务器的普通用户。“安装目录”选择使用“安装用户”创建的已有目录,不建议使用默认的“安装用户”的home目录。“第三方工具配置方式”选择“本机新安装”,选择后会出现“zookeeper 端口”,“kafka 端口”,“schema_registry 端口”三条配置项,请确保配置的三个端口未被占用,如默认端口被占用,支持自定义端口。“第三方工具安装目录”使用默认的即可,支持自定义,但同样请配置到使用“安装用户”创建的目录下。
选择安装方式,“在线安装”是在线下载安装包,完成安装,需要确保对应的服务器网络正常。“离线安装”支持手动上传portal安装包进行安装,注意自行下载时请下载匹配对应服务器系统及架构的安装包。“导入安装”支持导入对应服务器上已安装的portal,但要求已安装的portal成功安装了所有的mysql迁移插件,否则导入安装无法成功。 - “安装包名称”建议选用最新版本的安装包。至此“迁移套件安装”步骤配置成功,点击“确认”按钮,开始portal安装。
- 进行portal安装时,“分配执行机资源”页面的对应执行机的“是否安装迁移套件”字段会显示为“安装中”,安装成功则显示为“已安装”。如果安装失败,可下载“安装日志”,排除故障后,点击“清理环境”,然后再次安装即可。
Portal离线安装步骤
数据迁移插件底层依赖Portal组件,在任务执行时如果执行机器未安装Portal,将会执行Portal的安装,因为安装过程时间较长,因此可选择在执行机器上提前安装Portal,安装步骤如下。
1、在执行机器上创建非root用户,并授予sudo免密权限
- 添加用户 useradd og_ops
- 设置密码 passwd og_ops
- 增加文件编辑权限 chmod u+w /etc/sudoers
- 编辑文件 /etc/sudoers,在文件底部增加:og_ops ALL=(ALL) NOPASSWD: ALL
- 回收文件编辑权限 chmod u-w /etc/sudoers
2、切换非root用户,进入根目录下,cd ~
3、执行wget -P ~ portal下载地址 -O portal.zip。
4、执行unzip -d ~/portal ~/portal.zip
5、sed -i 's#/ops/portal#/home/非root用户名/portal#g' ~/portal/config/toolspath.properties
6、java -Dpath=/home/非root用户名/portal/ -Dorder=install_mysql_all_migration_tools -Dskip=true -jar /home/非root用户名/portal/portalControl-*-exec.jar
注意
1、以上命令中的"portal下载地址"需要更换成实际的下载地址。
2、以上命令中的"非root用户名"需要跟换成实际操作用户名
迁移连接数据库集群特性
特性说明
本特性支持迁移任务进行增量迁移和反向迁移时,迁移工具连接到openGauss集群,当集群主节点发生切换时,迁移工具会自动寻主,并重新与集群中新的主节点建立连接,使得迁移任务不会因为主节点发生切换而异常终止,提高了迁移任务的稳定性。
特性约束
使用集群迁移功能时,需要设置openGauss集群的guc参数enable_slot_log=on,以支持主备数据库节点间的逻辑复制槽同步。否则,如果历史主节点新增数据量过大,主备节点切换时,可能会出现数据丢失的情况。设置enable_slot_log参数的方式如下。
在所有节点上设置此参数的命令:
gs_guc set -N all -I all -c "enable_slot_log=on"
设置成功后,重启数据库使参数生效。
特性使用
使用DataKit进行数据迁移时,首先将openGauss数据库集群导入到DataKit的集群管理中,通过DataKit安装的集群已经在集群管理中,无需导入。
在创建迁移任务时,便可以在目标库中看到此集群,点击选择集群主节点中的数据库作为目标库即可,后续迁移任务创建步骤无特殊变化。
创建迁移任务成功后,启动迁移任务时,DataKit会自动将集群信息传递给迁移工具,迁移工具会根据DataKit传递的信息,自动连接集群,无需用户特殊操作。
实时收集迁移工具的异常信息并展示特性
特性说明
本特性支持在DataKit启动迁移任务时,收集迁移任务执行过程中,各个迁移工具报出的异常信息,并在任务详情界面上展示。
特性实现了对迁移异常告警信息的实时监控,用户可以通过前端实时感知迁移是否存在异常情况,解决了发生异常时,需要前往后台手动查看日志的问题。
特性约束
本特性从DataKit和portal的7.0.0-RC2版本开始支持,只有当两工具同时达到版本要求时,才会实时展示异常告警信息。当存在高低版本混用的情况时,无兼容性问题,但是不会收集并展示异常告警信息。
特性使用
当工具版本达到要求时,本特性为默认支持,无需任何配置。启动迁移任务后,可直接在任务详情页查看异常告警信息。
当前展示的异常告警信息仅包含影响迁移结果或迁移进程的异常信息,对于迁移工具运行过程中的一些逻辑告警,不做感知。
在线迁移与反向迁移支持断点续传功能
特性说明
本特性支持在DataKit启动在线迁移任务时,在详情界面会展示迁移进程的状态,以及迁移进程异常时的一键恢复功能,以及进程重启功能。
特性约束
本特性从DataKit和portal的7.0.0-RC2版本开始支持。
特性使用
当工具版本达到要求时,本特性为默认支持,无需任何配置。启动在线迁移任务后,可直接在任务详情页查看或操作断点续传功能。
参与贡献
参与贡献
作为openGauss用户,你可以通过多种方式协助openGauss社区。参与社区贡献的方法请参见社区贡献,这里简单列出部分方式供参考。
特别兴趣小组
openGauss将拥有共同兴趣的人们聚在一起,组成了不同的特别兴趣小组(SIG)。当前已有的SIG请参见SIG列表。
我们欢迎并鼓励你加入已有的SIG或创建新的SIG,创建方法请参见SIG管理指南。
邮件列表和任务
欢迎你积极地帮助用户解决在邮件列表和issue任务(包括代码仓任务) 中提出的问题。另外,我们也欢迎你提出问题。这些都将帮助openGauss社区更好地发展。
文档
你不仅可以通过提交代码参与社区贡献,我们也欢迎你反馈遇到的问题、困难,或者对文档易用性、完整性的改进建议等。例如获取软件或文档过程中的问题,使用系统过程中的难点。欢迎关注并改进openGauss社区的文档模块。
IRC
openGauss也在IRC开辟了频道,作为提供社区支持和交互的额外渠道。详情请参见openGauss IRC。
开源的资料文档应附有对应的文档许可证
本文档遵循知识共享许可协议CC 4.0 (http://creativecommons.org/Licenses/by/4.0/)。