欧拉系统OpenEuler部署Kettle.250411

以下是在openEuler系统部署Kettle(Pentaho Data Integration)并执行作业的完整方案,结合系统特性和Linux通用部署经验整理:


一、环境准备

  1. 安装JDK 1.8+

    # 安装OpenJDK(推荐欧拉官方源)
    sudo dnf install java-1.8.0-openjdk-devel 
    # 验证安装 
    java -version 
    
  2. 解决依赖包问题

    • 若需启动图形界面(Spoon),需安装图形依赖包:

      sudo dnf install webkit2gtk3 libXScrnSaver  # openEuler 22.03+可用
      
    • 若报错 "Unable to find webkitgtk3/xulrunner",改用替代方案:

      sudo dnf install epel-release  # 添加EPEL源 
      sudo dnf install firefox xulrunner  # 安装替代依赖
      

二、Kettle部署

  1. 下载与解压

    wget https://mirrors.huaweicloud.com/pentaho/pdi-ce-9.4.0.0-343.zip
    unzip pdi-ce-9.4.0.0-343.zip -d /home/kettle 
    
  2. 权限与路径配置

    cd /home/kettle/data-integration 
    chmod +x *.sh  # 赋予执行权限
    # 设置环境变量(可选)
    echo 'export KETTLE_HOME=/home/kettle/data-integration' >> /etc/profile 
    source /etc/profile 
    

三、执行作业与转换

  1. 命令行执行(无图形界面)

    • 执行转换(Transformation):

      ./pan.sh -file=/path/to/trans.ktr -level=Basic 
      
    • 执行作业(Job):

      ./kitchen.sh -file=/path/to/job.kjb -level=Error > /var/log/kettle.log 2>&1 
      
  2. 后台运行

    nohup ./kitchen.sh -file=job.kjb &  # 防止终端关闭终止进程
    

四、定时任务配置(Crontab)

  1. 编辑定时任务

    crontab -e 
    
  2. 添加任务条目

    # 每天凌晨2点执行 
    0 2 * * * /opt/kettle/data-integration/kitchen.sh -file=/path/to/job.kjb >> /var/log/kettle_cron.log 2>&1 
    

五、常见问题解决

  1. 内存溢出
    修改脚本中的JVM参数(如 kitchen.sh 或 spoon.sh):

    OPTIONS="-Xmx4096m -XX:MaxPermSize=512m"  # 根据物理内存调整
    
  2. 中文乱码
    在脚本开头添加字符集声明:

    export JAVA_OPTS="-Dfile.encoding=UTF-8"  # 编辑spoon.sh/kitchen.sh
    
  3. 数据库连接驱动缺失
    将驱动JAR文件(如MySQL的 mysql-connector-java.jar)放入目录:

    cp mysql-connector-java-8.0.28.jar /opt/kettle/data-integration/lib 
    

六、验证部署

  1. 基础验证

    ./kitchen.sh -version  # 显示版本信息即成功 
    
  2. 日志监控

    tail -f /var/log/kettle.log  # 实时查看执行日志 
    

通过以上步骤,可在openEuler系统完成Kettle的部署与自动化运行。
若需图形界面,建议通过VNC或X11转发访问Spoon工具。
详见前篇文章

posted @ 2025-04-11 09:42  中国的Amadeus  阅读(104)  评论(0)    收藏  举报