现象
直接复制多个kettle目录程序,运行其中启动程序,默认会公用一些配置和缓存。 默认情况下它们会互相冲突。
它们共用同一个配置目录:~/.kettle/
两个 Kettle 看到的共享数据库连接完全一样;
一边修改共享连接,另一边也会变;
同时保存 → 配置会被覆盖、丢失;
图形界面(spoon)不会报错,也不会崩,但配置不安全。
解决
想让两个 Kettle 完全独立、互不干扰(生产 / 测试分开)
方法:给每个 Kettle 设置独立的 KETTLE_HOME。这是 Linux 上标准、安全、官方推荐的做法。
假设你有两个 Kettle:/opt/kettle-A/ /opt/kettle-B/
在每个目录里在 spoon.sh 、kitchen.sh 、 pan.sh 最开头加一行 (后两个实际是调用第一个,所以只在第一个文件添加就可以)
1 | export KETTLE_HOME=$(dirname "$0") |