zoukankan      html  css  js  c++  java
  • CentOS(Linux)安装KETTLE教程 并配置执行定时任务

    1,首先是安装jdk,并设置环境变量

    采用yum安装可不设置环境变量

    2,下载kettle

    https://sourceforge.net/projects/pentaho/files/Data%20Integration/

    请选择我们当前工作的版本7.0

    可以使用如下命名直接下载

    wget -c --output-document=pdi-ce-7.0.0.0-25.zip https://nchc.dl.sourceforge.net/project/pentaho/Data%20Integration/7.0/pdi-ce-7.0.0.0-25.zip

    3,使用unzip命令对这个压缩包进行解压

    unzip pdi-ce-7.0.0.0-25.zip -d "/opt/kettle"

    4,解压后给予相应文件可执行权限

    进入到/opt/kettle/data-integration

    授予 *.sh +x权限 即可执行权限

    5,执行转换

    编写测试转换,执行如下命令即可

    /opt/kettle-spoon/data-integration/pan.sh -file=/opt/kettle-spoon/ktr/test/test1.ktr log=test1.log

    6,执行job

    sudo /opt/kettle-spoon/data-integration/kitchen.sh -file=/opt/kettle-spoon/ktr/test/SechuldUpdate.kjb log=timeLogUpdate.log

    如果是job需要定时,如果我们需要执行的是一个job,则可跳过下列步骤,直接在job里设置定时参数即可 

    job和ktr的路径变量问题需要注意,也可以直接写绝对路径

    7,配置定时任务

    7.1,如果是转换文件需要定时

    可以按照如下方法操作,创建一个文件 test.sh

    在这个文件里写入如下语句

    export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
    export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$PATH
    /opt/kettle-spoon/data-integration/pan.sh -file=/opt/kettle-spoon/ktr/test/Sechuld.kjb log=log.timelog ~data +%y%m%d~

    然后给这个文件可执行权限 +x

    然后运行 crontab –e 编辑定时任务

    */10 * * * * bash /home/etl/ schedule.sh表示每隔10分钟执行一次schedule.sh

    然后保存,运行crontab–l查看定时任务是否已载入

    运行systemctl restart crond重启定时任务,运行systemctl status crond查看crontab服务状态

  • 相关阅读:
    PHP实现发送模板消息(微信公众号版)
    laravel 跨域问题
    微信授权登录
    支付demo2
    支付demo1
    微信支付注意点
    微信支付方式区分
    debian,dietpi,linux中文乱码解决方法
    嵌入式应该深入专研STM32还是继续学习linux内核驱动呢?
    arduino下载ESP8266开发板的方法
  • 原文地址:https://www.cnblogs.com/huanghuanghui/p/9683055.html
Copyright © 2011-2022 走看看