CentOS 指令运行 kettle 实现数据迁移

Kettle

spoon.bat

kettle 是纯 java 开发,开源的 ETL工具,用于数据库间的数据迁移 。可以在 Linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。

Windows使用步骤

1.基于java开发,所以需要安装jdk并配置JAVA_HOME环境变量(建议安装JDK1.8)
2.安装kettle 链接:https://pan.baidu.com/s/1x0gEjX3PtJl69IqOt5C1Bw 提取码:aqgy
3.下载mysql数据库驱动jar包,放入lib目录下 链接:https://pan.baidu.com/s/1TLIhQ6hlYajbHsBTaPch2Q 提取码:afgq
4.双击spoon.bat启动kettle

转换

1.左上角 文件->新建->转换
2.左上角 文件->保存->起名字
3.左边菜单栏 主对象树->DB连接(右键->新建)
在这里插入图片描述

在这里插入图片描述4.使用 核心对象->输入->表输入(拖拽到右边工作区)
在这里插入图片描述
5.双击->获取数据->点击预览
在这里插入图片描述
6.核心对象->输出->表输出(拖拽到右边工作区)

在这里插入图片描述
7.按住shift连接两个步骤
在这里插入图片描述
8.运行
在这里插入图片描述
9.数据库中查看数据
在这里插入图片描述

作业

1.左上角 文件->新建->作业
2.左上角 文件->保存->起名字
3.按图拖拽并按顺序连接
在这里插入图片描述
4.设置循环
在这里插入图片描述
5.设置执行转换
在这里插入图片描述

6.运行

Linux使用步骤

配置环境

1.安装 jdk 1.8
首先保证系统上装有 JDK 1.8 (其他版本建议更换为 1.8) 可以输入指令 java -version 查看 Java 版本
在这里插入图片描述
没有安装的话可以使用 yum install java-1.8.0-openjdk 命令安装

2.下载 Kettle 软件并解压
此处使用的是 pdi-ce-7.1 版本, 百度网盘链接如下:
https://pan.baidu.com/s/1eziGs6zFhTNYya1oBqoutw 密码: aaaa

3.启动服务
在 pdi-ce 目录下进入 data-integration 目录下, 执行 ./kitchen.sh 看服务是否能启动:

在这里插入图片描述

如图所示为缺少组件, 按照要求输入命令: sudo apt-get install libwebkitgtk-1.0-0 安装依赖项.

运行 Spoon 的装换和作业

1.将 Spoon 文件传至 CentOS 系统中
首先需要在具有图形化界面的计算机编写好转换作业, 并保存成**( *.ktr / *.kjb)**文件并传至CentOS 中.
2.使用指令运行
进入到 data-integration 目录下:

运行转换文件 (*.ktr): ./pan.sh -file:文件地址

运行作业文件 (*.kjb): ./kitchen.sh -file:文件地址


在Linux上运行kettle小案例

kfc.ktr
在这里插入图片描述

功能简述
使三个不同数据库中的表进行字段统一后,更新插入到另一个数据库的表中。

my_kfc.kjb
在这里插入图片描述
功能简述
设置每隔一分钟执行一次kfc.ktr。
在这里插入图片描述

注意填写位置时,需要明确与kfc.ktr的目录位置。

1.将 kfc.ktrmy_kfc.kjb 移动到 CentOS 的 /home 文件夹下

2.进入 data-integration 目录下, 执行 ./kitchen.sh -file:/home/my_kfc.kjb

在这里插入图片描述3.运行成功后查看数据库, 每一分钟发现了改变并且可以实现自动更新.

在这里插入图片描述

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
对于CentOS 7上的MySQL数据迁移,您可以采取以下步骤: 1. 在新的服务器上安装MySQL 5.7,并确保它与旧服务器上的版本相同。 2. 在新服务器上创建一个与旧服务器相同的数据库和用户,并授予适当的权限。 3. 在旧服务器上停止MySQL服务。 4. 在新服务器上启动MySQL服务,并确保它正在运行。 5. 在旧服务器上导出数据库: ``` mysqldump -u [username] -p[password] [database_name] > [file_name].sql ``` 6. 将导出的文件传输到新服务器。 7. 在新服务器上导入数据库: ``` mysql -u [username] -p[password] [database_name] < [file_name].sql ``` 8. 确认数据是否已成功导入。 对于CentOS 7上的MySQL 5.7主从数据迁移,您可以采取以下步骤: 1. 在新服务器上安装MySQL 5.7,并确保它与旧服务器上的版本相同。 2. 在新服务器上创建一个与旧服务器相同的数据库和用户,并授予适当的权限。 3. 在旧服务器上停止MySQL服务。 4. 在新服务器上启动MySQL服务,并确保它正在运行。 5. 在主服务器上执行以下命令: ``` FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS; ``` 6. 记下"File"和"Position"的值。 7. 在主服务器上导出数据库: ``` mysqldump -u [username] -p[password] --master-data=1 [database_name] > [file_name].sql ``` 8. 将导出的文件传输到新服务器。 9. 在从服务器上导入数据库: ``` mysql -u [username] -p[password] [database_name] < [file_name].sql ``` 10. 在从服务器上执行以下命令: ``` CHANGE MASTER TO MASTER_HOST='[主服务器IP地址]', MASTER_USER='[主服务器用户名]', MASTER_PASSWORD='[主服务器密码]', MASTER_LOG_FILE='[File的值]', MASTER_LOG_POS=[Position的值]; START SLAVE; ``` 11. 确认数据是否已成功导入并且主从同步正常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值