永夜-Evernight

永夜降临之前,你都有改变的资格

linux 下安装并运行kettle 程序

1.安装jdk

安装jdk

2.部署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:执行转换

  3. 运用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=$JAVA_HOME/bin:$PATH
      
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      
      ./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
      

      注:(因为crond是个守护进程,它不归属于任何用户,虽然之前以root用户配置了java环境变量,但是crond一样找不到java命令,所以,当crond执行kettle任务时,需要动态设置java环境变量,否则会出现手动执行.sh没问题,放crontb里面执行后无效果)

    3. 设定crontab 定时执行任务

      对这部分不了解的可以看一下:Linux crontab命令详解

      # crontab  -u  root  -e
      
      */1 * * * * /root/kettle/kettle_sh/ceshi.sh  //每分钟执行一次ceshi.sh
      
      # systemctl restart crond
      
      # systemctl enable crond
      

到此大功告成,记得在数据库中验证结果

注意:

在linux中,如果是通过图形界面执行程序的话,点击那个绿色的三角即可。如果是命令行启动,后台执行进行进程不能中断。因此,在linux中不推荐使用kettle里面的自动执行,使用操作系统的定时执行要稳定的多。Windows下使用定时任务计划,linux下使用crontab。

版权声明

作者:github_38806262

出处:https://mp.weixin.qq.com/s/-piIePCzktTwyjCKlZumhg

未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利.


标题:linux 下安装并运行kettle 程序
作者:luomuren
地址:http://luomuren.top/articles/2021/12/22/1640103327726.html