需求:

项目中业务数据库中的数据需要同步到目标数据库中,页面上的程序目前不具备数据抽取同步功能,暂时使用kettle作为同步抽取工具。

环境说明

Linux: Centos7.9 最小系统
JDK: 1.8.0_282
Kettle: 7.1.0.0-12

安装步骤

按照Centos7.9最小安装不在此章节介绍,主要围绕jdk和kettle的安装展开。

JDK安装

JDK安装分在线安装和离线安装两种方式。安装之前卸载系统在带的jdk

卸载jdk

查看是否已经安装jdk

yum list installed | grep java

如果无输出,说明没有安装,如果有输出信息,则删除之前安装版本

yum -y remove #输出的名称

在线安装jdk

安装命令

yum install java-1.8.0-openjdk* -y

查看版本

java -version

默认jre jdk 安装路径是/usr/lib/jvm 下面

离线安装

1、下载jdk
根据自己的需求下载对应的JDK版本,下载链接 如下:

https://java.com/zh-CN/download/manual.jsp

上传至服务器指定的目录
2、解压jdk

tar -zxvf jdk-linux-x64.tar.gz -C /usr/local/jdk/

3、配置环境变量

vi /etc/profile
JAVA_HOME=/usr/local/jdk/jdk1.8.0.282/
PATH=$PATH:$JAVA_HOME/bin

4、配置生效

source /etc/profile

5、验证安装

java -version

离线安装和在线安装达到的效果都是一样的,为下一步kettle的安装准备条件。以上jdk安装完毕,接下来安装kettle

Kettle安装

1、下载kettle
根据需要下载对应的kettle版本,下载链接如下:

https://community.hitachivantara.com/s/article/data-integration-kettle

2、解压部署
下载后为zip压缩文件
解压文件:

unzip pdi-ce-7.1.0.0-12.zip -C /opt/kettle/

如果解压失败,安装zip解压包

yum install -y unzip

3、执行文件赋权限,默认没有执行权限
进入到解压文件就的data-integration文件夹下,给启动文件执行权限,命令如下:

chmod +x kitchen.sh

4、执行启动命令

./kitchen.sh

输出以下信息,说明kettle部署成功

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
Options:-rep            = Repository name-user           = Repository username-pass           = Repository password-job            = The name of the job to launch-dir            = The directory (dont forget the leading /)-file           = The filename (Job XML) to launch-level          = The logging level (Basic, Detailed, Debug, Rowlevel, Error, Minimal, Nothing)-logfile        = The logging file to write to-listdir        = List the directories in the repository-listjobs       = List the jobs in the specified directory-listrep        = List the available repositories-norep          = Do not log into the repository-version        = show the version, revision and build date-param          = Set a named parameter <NAME>=<VALUE>. For example -param:FILE=customers.csv-listparam      = List information concerning the defined parameters in the specified job.-export         = Exports all linked resources of the specified job. The argument is the name of a ZIP file.-custom         = Set a custom plugin specific option as a String value in the job using <NAME>=<Value>, for example: -custom:COLOR=Red-maxloglines    = The maximum number of log lines that are kept internally by Kettle. Set to 0 to keep all rows (default)-maxlogtimeout  = The maximum age (in minutes) of a log line while being kept internally by Kettle. Set to 0 to keep all rows indefinitely (default)

5、执行脚本
由于kettle本次安装为centos7最小系统安装,不具备图形化界面,需要将作业和转换的脚本在本地编写完毕后并验证确认无误后上传至服务执行。
在指定目录下创建shell脚本

#!/bin/bash
# 将业务数据库抽取至目标数据库
# /opt/kettle/kjb/task.sh
/opt/kettle/kitchen.sh -file=/opt/kettle/kjb/task.kjb log=log.timelog ~data +%y%m%d

如果有多个任务,可以编写多个shell脚本文件,后面单独配置定时任务。
6、给脚本文件赋执行权限

chmod a+x *.sh

7、编制定时任务
脚本编写完毕,数据抽取需要一定的时间间隔进行数据的抽取,抽取这块,分固定时间周期和数据量抽取策略(存量抽取和增量抽取)
运行,linux定时任务编写,

crontab -e

每隔5分钟执行一次task.sh

*/5 * * * * bash /opt/kettle/kjb/task.sh

8、验证定时任务
运行如下命令查看定时任务是否已经载入

crontab -l

9、重启定时任务,配置生效

systemctl restart crond

查看状态

systemctl status crond

10、验证kettle整体任务
目标数据库中查看业务数据库数据是否同步完成。

centos7环境下部署kettle相关推荐

  1. 在CentOS7环境下部署TiDB

    在CentOS7环境下部署TiDB 一.安装CentOS系统 1. 下载CentOS系统镜像 点击这里可以前往官网下载系统镜像 2. 使用Windows自带虚拟机工具Hyper-v创建虚拟机 在程序管 ...

  2. CentOS7环境下部署小米监控open-falcon文档

    一.环境说明 [root@falcon ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@falcon ~] ...

  3. VMWare 虚拟机, CentOS7环境下 部署Cobbler (含web)

    目录 1.环境准备 2 cobbler部署 2.1 关闭seLinux 2.2 安装依赖软件 2.3 修改cobbler配置文件 2.3.1 设置cobbler server ip 2.3.2 设置c ...

  4. 区块链 Hyperledger - 超级账本项目在centos7环境下的安装与部署

    Hyperledger - 超级账本项目在centos7环境下的安装与部署 Hyperledger 项目是开源界面向开放.标准区块链技术的首个重要探索,在 Linux 基金会的支持下,吸引了众多科技和 ...

  5. 实现在CentOS7环境下搭建个人github博客

    实现在CentOS7环境下搭建个人github博客 主机要求:必须是centos环境版本可以不一样,假如你用的是其他版本的linux系统,只不过是命令不太一样. Tips:这里提前说下,对于Ubunt ...

  6. CentOS7环境下搭建Kibana

    本次安装的Kibana主要用于展示<CentOS7环境下搭建ElasticSearch>中搭建的ES,其详细安装部署过程如下所示: 1.解压Kibana压缩包kafka_2.11-0.8. ...

  7. Centos7环境下etcd集群的搭建

    Centos7环境下etcd集群的搭建一.简介"A highly-available key value store for shared configuration and service ...

  8. ISA2006 之 域环境下部署

    域环境下部署ISA2006 一 准备实验环境 简单拓扑图如下: 二 开始部署 1.安装和配置DC和DNS DOMAIN NAME:TESTISA.COM HOSTNAME:2K3DCSERVER IP ...

  9. linux centos7 mysql_Linux centos7环境下安装MySQL的步骤详解

    Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...

最新文章

  1. 2018-行远自迩,登高自卑
  2. android中showSoftInput不起作用 与 toggleSoftInput
  3. Jerry Wang的SAP UI5源代码深入剖析系列文章
  4. 【BZOJ - 3436】小K的农场(差分约束)
  5. JavaScript let、const与var的区别
  6. 2048小游戏设计思路
  7. 查询本地内存的栈大小_Js的内存问题
  8. [转载] python中*args 和 **kwargs区别
  9. php构造方法什么时候使用,php:构造方法的说明详解
  10. C语言嵌入式系统编程修炼之道——软件架构篇
  11. bt种子爬虫程序和种子解析(大蟒蛇语言编写)
  12. MYMPS蚂蚁分类信息系统源码,5.9E多城市全开源版本
  13. cmd运行javac解析中文乱码
  14. AnimationController
  15. 关于一斤酒到底有几两的说明
  16. 推荐系统论文粗读记录【二】
  17. Git 2.38发布,引入巨型仓库管理工具Scalar
  18. 怎么样跑步才会消耗掉脂肪而不是肌肉和水分呢
  19. 既生AtomicXXX,何生LongAdder?
  20. Java初学者练习题

热门文章

  1. 百城伙伴大会-南京站:联合伙伴-共享收益-共建可信数字化基础
  2. 遍历 JSONArray
  3. 一口气理顺正则表达式
  4. java-php-python-ssm-圆梦酒店管理系统-计算机毕业设计
  5. Golang主线程让子线程退出的三种方式
  6. 宁夏大学本科毕业论文答辩和论文选题PPT模板
  7. 为什么iPad在连接PC时显示不在充电?
  8. Rust入门(十三):模式与模式匹配
  9. css样式的三种引入方式
  10. 电脑重装系统Win11edge浏览器看视频绿屏如何处理?