kettle 数据同步报错 failed to execute runnable(java.lang.NullPointerException)

kettle 数据同步报错 failed to execute runnable(java.lang.NullPointerException),第1张

kettle这个etl工具bug多多,建议换一个别的产品吧。我以前用过被坑的不轻……而且job不提供事务支持,都放在trans里又容易报错

还是别用了……

我们当时用的时候,改过不少它的代码

kettle数据导出到另一个数据库,不需要先建表结构,导出方法为:

1、打开SQL Database Studio。

2、点击展开数据库连接和数据库。

3、右击要导出数据的表,然后选择export wizard。

4、在choose source中选择database,然后点击next。

5、选择目标为database,然后点击next。

6、此时显示执行结果。

7、打开目标库,可以看到最终导出数据。

(二) 安装jre-6u23-linux-x64bin

将jre-6u23-linux-x64bin上传到linux服务器

1 在终端上,键入:

su

2 输入超级用户口令。

3 切换到所需的安装目录。类型:

cd <</strong>目录路径名>

例如,要在 /usr/java/ 目录中安装软件,请键入:

cd /usr/java/

关于超级用户访问权限的说明:要将 JRE 安装在系统级位置(例如 /usr/local),必须以超级用户身份登录,从而获得必要的权限。如果您不具有超级用户访问权限,请将 JRE 安装在您的主目录中,或者安装在您具有写入权限的子目录中。

4 将您下载的文件的权限更改为可执行。类型:

chmod a+x jre-6u23-linux-x64bin

5 启动安装过程。键入:

/ jre-6u23-linux-x64bin

此时将显示二进制许可协议。通读许可协议。按空格键显示下一页。读完许可协议后,输入 yes 继续安装(此步骤可能直接跳过)。

7 JRE 安装在其自身的目录中。在本例中,它将安装在 /usr/java/ jre160_23目录中。当安装完成时,您将看到Done(完成)字样。

(三) 配置java环境变量

1 命令行键入“cd /etc”进入etc目录

2 命令行键入“vi profile”打开profile文件

3 敲击键盘ctrl+F到文件末尾

4 在末尾处,即第一个~的地方,敲击键盘将以下内容输入到文件

JAVA_HOME=/usr/java/jre160_23

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=:$JAVA_HOME/lib/dtjar:$JAVA_HOME/lib/toolsjar

export JAVA_HOME

export PATH

export CLASSPATH

5 键盘敲击exc,命令行键入“:wq”,保存文件;

6 重新登录linux,在命令行键入“java”,如果出现帮助信息则表示配置成功。

然后,部署kettle

1 将pdi-ce-410-stablezip上传到linux服务器

2 使用unzip命令解压pdi-ce-410-stablezip

unzip pdi-ce-410-stablezip -d "/mnt/kettle"

3 赋予解压目录下sh文件的执行权力

chmod +x sh

4 进入解压目录,键入“/kitchensh”回车,如果有帮助信息则表示kettle环境部署成功

※(重点)接着,编写执行kettle任务的shell脚本

创建testsh,将以下内容复制粘贴到里面,然后键入“chmod +x /mnt/kettle/sh”,赋予testsh执行权限。

export JAVA_HOME=/usr/java/jre160_23

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=:$JAVA_HOME/lib/dtjar:$JAVA_HOME/lib/toolsjar

/mnt/kettle/data-integration/kitchensh -file=/mnt/kettle/testkjb > /mnt/kettle/displaytxt

说明:

前3行,设置java环境变量的语句必不可少,

因为crond是个守护进程,它不归属于任何用户,虽然之前以root身份配置了java的环境变量,但是crond一样找不到java命令,

所以,当crond执行kettle任务时,需要动态设置java环境变量,crond才能找到java命令。

最后,使用crontab命令添加定时任务

Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,主要用于数据抽娶转换、装载。kettle兼容了市面上几十种数据库,故用kettle来做数据库的迁移视乎是个不错的选择。 kettle的数据抽取主要在于抽取数据,而没有考虑数据库的函数

版本不一致。kettle连接数据库报错javalangClassCastException:javamathBiglnteger是因为驱动包版本不一致,将数据库的版本升级至为8011即可。

以上就是关于kettle 数据同步报错 failed to execute runnable(java.lang.NullPointerException)全部的内容,包括:kettle 数据同步报错 failed to execute runnable(java.lang.NullPointerException)、kettle数据导出到另一个数据库,必须先建表结构吗、crontab定时执行kettle作业报错java.io.file parameter must be a directory,数据库连接用的jndi。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9563999.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存