关于linux安装kettle的总结

    xiaoxiao2022-07-06  222

    一.部署准备 1.1 JDK安装配置

    命令行键入“cd /etc”进入etc目录 命令行键入“vi profile”打开profile文件 敲击键盘ctrl+F到文件末尾 在末尾处,即第一个~的地方,敲击键盘将以下内容输入到文件

    export JAVA_HOME=/usr/java/jre1.8.0_45

    export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH

    export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

    键盘敲击exc,命令行键入“:wq”,保存文件;

    JDK配置成功:

    1. 命令:java -version.出现版本信息 2. 命令:echo ${JAVA_HOME}出现配置路径

    二.kettle部署 1:创建一个目,将下载好的kettle解压后放在该文件夹下。 mkdir /root/software/kettle cp /root/pdi-ce-5.0.1-stable.zip /root/software/kettle cd /root/software/kettle unzip pdi-ce-5.0.1-stable.zip cd data-integration ll *.sh chmod +x *.sh //以.sh结尾的文件必须拥有执行权限,如果没有,请赋予 2:测试安装是否成功 在kettle的data-integration目录中执行kitchen.sh文件,若出现帮助信息,证明安装成功 /kitchen.sh 备注: kitchen.sh:执行job pan.sh:执行转换 三:运用crontab执行kettle程序 1.建立目录存放kettle文件 mkdir -p /root/kettle/kettle_file/job // 存放作业文件 mkdir /root/kettle/kettle_file/transition // 存放转换 mkdir /root/kettle/kettle_sh // 存放执行脚本 mkdir /root/kettle/kettle_log // 存放执行kettle产生的日志文件 将从windows上配置好的.ktr和.kjb程序分别放在transition目录和job目录下(或linux下编写后直接保存到该目录下) 2:编写执行脚本 cd /root/kettle/kettle_sh vim ceshi.sh 文本内容如下: #!/bin/bash #执行job程序 cd /root/software/kettle/data-integration export JAVA_HOME=/usr/java/jdk1.6.0_45 export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar 注:(因为crond是个守护进程,它不归属于任何用户,虽然之前以root用户配置了java环境变量,但是crond一样找不到java命令,所以,当crond执行kettle任务时,需要动态设置java环境变量,否则会出现手动执行.sh没问题,放crontb里面执行后无效果) ./kitchen.sh -file=/root/kettle/kettle_file/job/ceshi.kjb-level=basic >>/root/kettle/kettle_log/ceshi_$(date +%Y%m%d).log chmod +x ceshi.sh sh -x ceshi.sh 3:设定crontab 定时执行任务 crontab -u root -e */1 * * * * /root/kettle/kettle_sh/ceshi.sh //每分钟执行一次ceshi.sh

    *~~

    **注意1:**如何在linux上运行ktr和job ,本人遇到坑了,所以做了点总结 linux 执行ktr文件的命令 ./pan.sh -file:/root/kettle/kettle_file/transition/1.ktr >> /root/kettle/kettle_log/3.log & linux 执行job文件的命令 ./kitchen.sh -file:/root/kettle/kettle_file/job/2.kjb >> /root/kettle/kettle_log/3.log & 上面file后面的路径指的是具体的job和krt文件的位置 **注意2:**如果执行job任务时,必须把kjb和ktr的文件放在一个路径下,才能执行成功 **注意3:**如果在执行ktr或者job时,遇到无法找到资源库等类似问题时,我们需要将本地转换好的ktr 文件的db数据库连接名称改成服务器IP即可,再进行上传,则能执行成功 **注意4:**如果在linux单独执行job定时任务后,想要停止其任务,请在linux窗口执行 pgrep -f kettle | xargs kill -9

    *~~ **

    最新回复(0)