一、CentOs7.2安装jdk

1、卸载系统自带的openjdk

因centos安装完之后,系统一般自带有open jdk ,所以,首先需要查看当前系统是否有自带的open jdk,如果有,需要先卸载原有的open jdk。

1)查看jdk版本信息 java -version

2)查看jdk对应的java相关文件 rpm -qa | grep java

3)删除相关文件:rpm -e --nodeps

rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64

rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64

rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64

rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64

4)再次查看相关Java文件信息,下列信息可以保留不删除

5)再次查看Java版本信息

说明,当前系统已卸载已有的jdk

2、下载jdk

1)最新版本下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html

2)历史版本的下载地址:https://www.oracle.com/technetwork/java/javase/archive-139210.html

3、拷贝下载的jdk到服务器上并解压

1)先从本地拷贝文件到目标服务器上

2)解压jdk的压缩文件到目标目录下,如下所示:

 

4、配置环境变量

1)打开profile文件,vim /etc/profile

2)在文件底部添加

export JAVA_HOME=/opt/java/jdk1.8.0_131

export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar

export PATH=$PATH:${JAVA_HOME}/bin

 

3)输入source /etc/profile,使得环境变量生效

5、检测是否配置成功

Java- version

 

至此,配置成功

二、Centos7下ETL工具之kettle安装

1.安装包下载

https://sourceforge.net/projects/pentaho/files/latest/download?source=files

2、下载后为zip文件:pdi-ce-7.1.0.0-12.zip,利用命令解压 :

unzip pdi-ce-7.1.0.0-12.zip

(若提示未找到命令,yum安装zip: yum install -y unzip zip)

3、解压后,得到新文件夹:data-integration,为Kettle的安装和执行目录

4、进入 data-integration文件夹,执行权限命令 chmod +x *.sh

5、在 data-integration文件夹下,执行./kitchen.sh 如果出现帮助信息表示部署成功。

6、可能出现的警告:

 

直接yum install webkitgtk 安装,会报错提示:No package webkitgtk available,需要先进行如下操作:

1)下载最新的nux-dextop-release rpm包,下载地址(http://li.nux.ro/download/nux/dextop/el7/x86_64/)或下载地址2(https://download.csdn.net/download/u012475575/10691618)

2)将对应资源上传服务器,资源所在目录下执行:rpm -Uvh nux-dextop-release-0-5.el7.nux.noarch.rpm,

(运行上述命令需先安装epel,命令为:yum -y install epel-release )

3)安装webkitgtk rpm包 ,执行 :yum install webkitgtk,安装成功后,再执行./kitchen.sh,警告消失。

7、可能遇到的报错

该报错可以通过yum -y install redhat-lsb 来解决。

 三、linux下使用crond定时执行kettle的job任务

部署kettle
 1.将pdi-ce-4.1.0-stable.zip上传到linux服务器

2.使用unzip命令解压pdi-ce-4.1.0-stable.zip
unzip pdi-ce-4.1.0-stable.zip -d "/mnt/kettle"

3.赋予解压目录下.sh文件的执行权力

chmod +x *.sh

4.进入解压目录,键入“./kitchen.sh”回车,如果有帮助信息则表示kettle环境部署成功
※(重点)接着,编写执行kettle任务的shell脚本
创建test.sh,将以下内容复制粘贴到里面,然后键入“chmod +x /mnt/kettle/*.sh”,赋予test.sh执行权限。

#!/bin/bash

cd /home/kettle/data-integration

export JAVA_HOME=/usr/java/jdk1.8.0_162

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

./kitchen.sh-file=/home/kettle/kettle_file/job/testdemo.kjb/level:Basic >>/home/kettle/kettle_file/kettle_log/ts_$(date +%Y%m%d).log &

./kitchen.sh-file=/home/kettle/kettle_file/job/testdemo2.kjb/level:Basic >>/home/kettle/kettle_file/kettle_log/ts_$(date +%Y%m%d).log &

说明:
前3行,设置java环境变量的语句必不可少,
因为crond是个守护进程,它不归属于任何用户,虽然之前以root身份配置了java的环境变量,但是crond一样找不到java命令,
所以,当crond执行kettle任务时,需要动态设置java环境变量,crond才能找到java命令。

最后,使用crontab命令添加定时任务
1.在终端上,键入“crontab -e”,进入定时任务文件
2.键入“a”,对文件进行编辑
          输入如下内容: 

23 11 10 02 * /mnt/kettle/test.sh

        其中 23为分钟,11为小时,10为日,02为月,*为星期几,crontab命令的使用这里不再赘述。
 3.键盘敲击exc,终端键入“:wq”,保存文件
 4.重启crond服务
          键入“cd /etc/init.d”,进入该目录
          键入“./crond restart”,重启crond服务
 5.等待执行结果

 6.执行成功,oh..nice!

 

Logo

更多推荐