1

我设计了一个用于转换的 ktr 文件。我需要配置生产环境的数据库连接细节。我怎样才能做到这一点?有什么建议么?

4

1 回答 1

3

我使用环境变量。

KETTLE_HOME
KETTLE_JNDI_ROOT
PATH=$PATH:$KETTLE_HOME

Kettle home 只是一个指向目录的链接。默认情况下,我有专门用于数据集成套件的目录。它包含几个版本的水壶。

例子

/opt/kettle/data-integration-4.4.0 (few old jobs made like several years ago)
/opt/kettle/data-integration-5.2.0 (currenly used)
/opt/kettle/data-integration-6.0.0 (on test)

然后有一个指向当前默认值的链接(类似于 debian 中的替代项)。它有助于在同一台机器上安装多个版本的水壶。

ln -s /opt/kettle/data-integration-5.2.0 /opt/kettle/data-integration

现在

/opt/kettle/data-integration 

是默认使用的主套件的链接。这是出于 jdk 兼容性的原因。由于 4.4.0 基于 jdk6,因此 5.2.0 jdk7(并且不适用于 jdk8,因为 xstream xml 库中有一个错误,但可能已经修复,6.0 分支在 jdk8 上运行良好,即使它是基于 jdk7 构建的)

/etc/profile 中配置的变量。文件 jdbc.properties 位于

$KETTLE_HOME/simple-jndi 

并由所有工作共享。如果网络配置发生变化,这个文件,带有连接设置,由 puppet 生成。如果管理员做某事,puppet 会自动生成新文件以防迁移。

对于连接定义,我使用命名规则

 main       -connection to productive database
 main_slave -connection to slave database (read-only)
 test       -connection to test database (on separate machine)
 test_slave

等等 ...

于 2015-12-18T07:21:55.680 回答