赞
踩
因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
1)最新版本下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html
2)历史版本的下载地址:https://www.oracle.com/technetwork/java/javase/archive-139210.html
1)先从本地拷贝文件到目标服务器上
2)解压jdk的压缩文件到目标目录下,如下所示:
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,使得环境变量生效
Java- version
至此,配置成功
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 来解决。
部署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!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。