news 2026/1/13 12:04:51

蓝易云 - ubuntu22安装和部署Kettle8.2

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
蓝易云 - ubuntu22安装和部署Kettle8.2

蓝易云:Ubuntu 22.04 安装与部署 Kettle 8.2(PDI 8.2)全流程

Kettle(Pentaho Data Integration / PDI)8.2 常见交付形态包含:图形界面 Spoon、命令行执行器 Kitchen/Pan、轻量 HTTP 服务 Carte。PDI 相关构建/运行链路通常以 Java 8 作为基线要求(JDK 1.8)。(SourceForge)


部署方式对比表(先选路,再动手)✅

方式适用场景启动入口优点风险点
Spoon(GUI)有桌面/远程桌面开发调试spoon.sh开发效率高需 X/图形依赖
Kitchen/Pan(CLI)服务器跑作业/定时调度kitchen.sh/pan.sh最稳、最轻需要规范日志与参数
Carte(服务化)远程触发、分布式/集群carte.sh易做平台化需鉴权、端口治理 (pentaho-public.atlassian.net)

1)基础环境准备:安装 Java 8 + 常用依赖 🔧

sudo apt update sudo apt install -y unzip fontconfig sudo apt install -y openjdk-8-jdk java -version

解释(逐行):

  • apt update:刷新软件索引,避免“装不到包/版本不对”。

  • unzip:解压 PDI 压缩包必备。

  • fontconfig:GUI/字体渲染常用依赖,服务器也建议装,减少 SWT/字体类异常概率。

  • openjdk-8-jdk:安装 JDK 8(Ubuntu 22.04 的 openjdk-8 在发行包体系中可用)。(Launchpad)

  • java -version:确认“当前生效的 Java”确实是 1.8,而不是 11/17。

如果你的环境因仓库策略无法直接装到 JDK 8,务实方案是改用企业可控的 JDK 8 发行版(例如 Temurin 8)并显式指定PENTAHO_JAVA_HOME,避免“装了多个 Java 但实际跑错版本”。


2)获取并解压 PDI 8.2 安装包 📦

PDI 8.2 社区版常见包名为:pdi-ce-8.2.0.0-342.zip。(SourceForge)

sudo mkdir -p /opt/pdi sudo unzip pdi-ce-8.2.0.0-342.zip -d /opt/pdi ls -l /opt/pdi

解释:

  • /opt/pdi:建议作为标准化安装目录,便于权限、备份、运维脚本统一。

  • unzip ... -d:解压到目标目录,解压后通常会得到data-integration/目录(后续命令都在里面执行)。


3)设置运行环境变量(让“版本与路径”可控)🧩

sudo tee /etc/profile.d/kettle.sh >/dev/null <<'EOF' export PENTAHO_JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export KETTLE_HOME=/opt/pdi/data-integration export PATH=$KETTLE_HOME:$PATH EOF source /etc/profile.d/kettle.sh

解释:

  • PENTAHO_JAVA_HOME:强制 PDI 使用指定的 Java 8,避免系统默认 Java 被升级后“无声故障”。

  • KETTLE_HOME:统一指向data-integration目录,后续脚本更简洁。

  • profile.d:全局生效,适合服务器多用户运维。


4)三种“上线姿势”:CLI 执行 / Carte 服务化 / GUI 启动 🚀

A. 服务器跑作业(推荐:Kitchen)🙂

cd /opt/pdi/data-integration ./kitchen.sh -file=/data/etl/demo.kjb -level=Basic -log=/var/log/kettle/demo.log

解释:

  • kitchen.sh:执行作业(.kjb)。

  • -file=:指定作业文件绝对路径,避免相对路径导致的“找不到资源”。

  • -level=Basic:日志级别,建议从 Basic 起步,排障再提高。

  • -log=:把日志落盘,便于告警与追溯(生产必配)。

B. 服务器跑转换(Pan)

cd /opt/pdi/data-integration ./pan.sh -file=/data/etl/demo.ktr -level=Basic -log=/var/log/kettle/demo-pan.log

解释:

  • pan.sh:执行转换(.ktr),其余参数语义与 Kitchen 一致。

C. Carte 服务化(用于远程触发/集群)🌐

Carte 支持命令行启动,也支持 XML 配置启动:sh carte.sh localhost 8080sh carte.sh configuration.xml。(pentaho-public.atlassian.net)

示例:创建配置文件

sudo tee /opt/pdi/carte-config.xml >/dev/null <<'EOF' <slave_config> <slaveserver> <name>carte-1</name> <hostname>0.0.0.0</hostname> <port>8080</port> <master>Y</master> </slaveserver> </slave_config> EOF

解释:

  • hostname=0.0.0.0:监听所有网卡,适合服务器对外提供服务(同时要做防火墙与鉴权)。

  • port=8080:服务端口;与业务端口冲突就换,原则是“端口治理可审计”。

启动:

cd /opt/pdi/data-integration ./carte.sh /opt/pdi/carte-config.xml

解释:

  • 通过配置文件启动,便于把配置纳入版本管理与运维基线。


5)把 Carte 做成 systemd 服务(生产交付建议)🛠️

sudo tee /etc/systemd/system/kettle-carte.service >/dev/null <<'EOF' [Unit] Description=Kettle Carte Service After=network.target [Service] Type=simple User=root WorkingDirectory=/opt/pdi/data-integration Environment=PENTAHO_JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 ExecStart=/opt/pdi/data-integration/carte.sh /opt/pdi/carte-config.xml Restart=on-failure RestartSec=3 [Install] WantedBy=multi-user.target EOF sudo systemctl daemon-reload sudo systemctl enable --now kettle-carte sudo systemctl status kettle-carte --no-pager

解释:

  • After=network.target:确保网络就绪再起服务。

  • Environment=...:把 Java 版本锁死在服务级,避免 profile 失效导致漂移。

  • Restart=on-failure:失败自动拉起,提升可用性。

  • enable --now:开机自启并立即启动;status用于确认健康状态。


部署工作流图(vditor Mermaid)📌

flowchart TD A[安装 JDK 8 与依赖] --> B[解压 PDI 8.2 到 /opt/pdi] B --> C[设置 PENTAHO_JAVA_HOME / KETTLE_HOME] C --> D{交付形态} D -->|开发调试| E[Spoon GUI] D -->|定时/批处理| F[Kitchen/Pan CLI] D -->|平台化/远程触发| G[Carte + systemd]

一句落地建议(少走弯路)

如果你是生产服务器,我的建议很明确:优先用 Kitchen/Pan 做“可控批处理”,需要平台化再上 Carte;GUI 只留给开发机或带桌面的跳板机。这样你的交付成本最低、稳定性最高,也最容易做标准化。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/23 17:24:03

用户上传音频片段仅用于本次合成,不留存

用户上传音频片段仅用于本次合成&#xff0c;不留存 在语音交互日益普及的今天&#xff0c;我们几乎每天都在与智能音箱、车载助手或虚拟客服对话。这些系统背后的语音不再是冷冰冰的机器朗读&#xff0c;而是越来越接近真人表达——有情感起伏、有个性音色&#xff0c;甚至能模…

作者头像 李华
网站建设 2025/12/23 14:31:19

Leon Sans粒子动画:从代码到艺术的创作哲学

在数字艺术的边界处&#xff0c;文字与粒子的相遇创造了一种全新的表达语言。Leon Sans字体引擎以代码为画笔&#xff0c;让每一个字符都拥有生命般的动态质感。这不是传统意义上的字体渲染&#xff0c;而是一场关于数字美学的深度探索。 【免费下载链接】leonsans Leon Sans i…

作者头像 李华
网站建设 2026/1/9 10:13:24

知乎技术答主深度评测EmotiVoice

EmotiVoice&#xff1a;让声音拥有情感与个性 在语音助手还在用千篇一律的“标准音”念天气预报时&#xff0c;你有没有想过——它其实可以因一句“今天下雨了”而略带忧郁&#xff1f;当有声书里的反派说出威胁台词时&#xff0c;声音能否真正透出寒意&#xff1f;这些不再是科…

作者头像 李华
网站建设 2025/12/24 15:17:09

EmotiVoice与RVC技术融合的可能性探讨

EmotiVoice与RVC技术融合的可能性探讨 在虚拟主播的直播画面中&#xff0c;一个卡通角色正激动地讲述着冒险故事——语调起伏、情绪饱满&#xff0c;声音既不像机械朗读&#xff0c;也不完全是真人配音。这背后&#xff0c;正是AI语音技术从“能说话”迈向“会表达”的关键跃迁…

作者头像 李华
网站建设 2025/12/27 23:44:45

BLIP和BLIP2解析

1. BLIP BLIP 是一种多模态 Transformer 模型&#xff0c;主要针对以往的视觉语言训练 (Vision-Language Pre-training, VLP) 框架的两个常见问题&#xff1a; 模型层面&#xff1a;大多数现有的预训练模型仅在基于理解的任务或者基于生成的任务方面表现出色&#xff0c;很少有…

作者头像 李华
网站建设 2025/12/27 23:44:43

百度网盘提取码智能获取实用指南:轻松完成资源下载

还在为百度网盘分享链接的提取码而烦恼吗&#xff1f;每次遇到加密分享都要花费大量时间在各种平台间来回切换寻找密码&#xff1f;今天给大家介绍一款实用工具——baidupankey智能提取码获取工具&#xff0c;让你从此告别繁琐的手动查找&#xff0c;快速轻松获取提取码&#x…

作者头像 李华