Kettle使用中的四个小问题

连接不上资源库

报错:ERROR: No repository provided, can’t load job. ERROR: Kitchen can’t continue because the job couldn’t be loaded.

出现这个错误呢,一般来说就是读取资源库的配置出了问题,而且图形界面打开运行没有问题,使用命令行执行资源库中job就出错!
比如,我在一脚本中,使用kettle目录即data-integration下,kitchen.sh -rep...来运行资源库中的任务就报了这个错!
因为使用图形界面,在加载资源库的时候,它的配置文件默认在当前用户目录下/.kettle/kettle.properties,但是使用命令行的时候,它找不到这个配置文件,所以就不能去加载资源库,就报了这个错!
解决办法:就是将用户目录下的.kettle文件夹整个复制到data-integration目录下即可!

连接重置

报错:Processing stopped because of an error:
Error connecting to the repository!
Error occured while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
IO 异常: Connection reset
ERROR: Kitchen can’t continue because the job couldn’t be loaded.

这个错误不是必现的,偶尔出现,有的时候还是比较频繁,但是也是很恶心的!

解决方案:在spoon.sh最下边的java命令行中增加参数:
-Djava.security.egd=file:/dev/../dev/urandom
原因函数nextBytes(byte[]) 在linux上使用/dev/random计数时,导致登录中断从而超时。有兴趣的可以去了解一下!

配置资源库时闪退

报错:java: cairo-misc.c:380: _cairo_operator_bounded_by_source: Assertion `NOT_REACHED’ failed.

我们需要把cairo禁掉:,在spoon.sh最下边加上参数:
-Dorg.eclipse.swt.internal.gtk.cairoGraphics=false

使用Taskctl调度,日志中文乱码

因为Taskctl程序的编码是GBK,不是UTF-8,所以需要我们在配置kettle的Linux主机上配置环境变量:

$vi .bashrc
-------------------------
然后设置编码GBK
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
export LANG='zh_CN.GBK'
fi

# User specific aliases and functions

保存退出即可!别忘了source .bashrc

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值