kettle项目资源库传测试和生产遇到的问题(二)

故事背景:不再介绍

所处环境:linux,jdk1.8,kettle 8.0(不建议使用高版本的kettle,前面的文章有一篇提到了因为kettle版本的原因创建资源库的时候在数据库中会缺失一些创建kettle资源库需要的表),EasyConnect连接内网,Xshell 5访问服务器,Xmanager6做可视化

首先查看环境 java -version

[root@zjxsprd data-integration]# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)

需要注意的是不建议使用默认安装的openjdk,否则后续会有很多莫名其妙的问题。如果是你的jdk是这样的建议更换

安装步骤可以参考这个:linux软件(一)—CentOS安装jdk

 

进入kettle所在的目录 cd /data/kettle/data-integration/  然后调用  ./spoon.sh

[root@zjxsprd /]# cd /data/kettle/data-integration/
[root@zjxsprd data-integration]# ./spoon.sh

kettle正常打开

但是我们看下xshell,提示一堆错误(这里因为生产是事先配好的集群,安装的kettle9.0的版本,这里为什么没有更换版本,因为本地事先已经用kettle8.0创建了生产的资源库)

先不管,然后点击connect

呃(⊙o⊙)…,算了还是老老实实的换成kettle8.0吧

关于这个问题可以看看这位博主Centos8/window下kettle不能连接资源库出现白屏等问题的解决方案,替换一下版本吧,之前也说过新版本存在各种问题

安装完kettle8.0然后开启,结果这次连connect都没有了

看下错误提示 java.io.IOException: Cannot run program "lsb_release": error=2, No such file or directory

这也是没有

没有connect的原因有很多种,比如创建资源库的时候包含中文,本人就在第一次使用的时候在创建资源库的时候在描述的位置写了中文,这种直接可以进去用户.kettle 目录下的repository.xml 文件把中文乱码的删掉保存一下重启就可以了

但是这里我们是basis新安装的kettle8.0按理说应该不会出现这个问题,这里进去.kettle文件看一下,结果连repository.xml文件都没那么就不可能出现这种问题了

解决方法是:

具体可以参考

 kettle 点击connect,资源库空白解决

cd data-integration/ui
vim menubar.xul

在31行加入

<menuitem id="file-openZiyuanku" label="openZiyuanku" command="spoon.openRepository()"/>

具体位置

加完重启kettle

如上图现在connect也跑出来了 (⊙o⊙)…,你以为的柳暗花明?然而我们点击一下connect。。。。

org.eclipse.swt.SWTError: No more handles [MOZILLA_FIVE_HOME=''] 文章结尾有对应的参考文献

解决办法:注意参考文献里面的./xulrunner --register-global代码--变成了一,其中一个下载链接失效

根据系统的版本,下载xulrunner
下载地址:
http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/2012/03/2012-03-02-03-32-11-mozilla-1.9.2/xulrunner-1.9.2.28pre.en-US.linux-x86_64.tar.bz2?cm_mc_uid=08168416471414670141294&cm_mc_sid_50200000=1497942238
得到一个这样的文件:xulrunner-1.9.2.28pre.en-US.linux-x86_64.tar解压一下

然后用命令 rz 传输到linux上,你也可以直接通过wget命令在linux上下载,下载完成解压(注意这里-C是大写)

tar -vxf xulrunner-1.9.2.28pre.en-US.linux-x86_64.tar -C xulrunner

//注册一下xulrunner

./xulrunner --register-global

重启一下kettle,不报错,但是空白

那就通过上面添加的通道连接资源库,

            

这边我就不继续执行下去了,因为我生产环境已经在数据库创建好了资源库,并且已经有数据了,这次只是做传产,把开发好的东西传到生产服务器

注意:如果你本身这个环境已经有数据,你自己备份好数据,慎重考虑是否进行此操作,作者在测试环境进行这个操作的时候直接把创建好的数据库资源库给清空了,导致测试的资源库什么都没了,并且点击点击ok的时候提示没找到这个资源库名字,在资源库列表找不到刚刚创建的资源库名字

各位读者看情况自己处理,既然有大佬能这么处理,那肯定是方法也是能行的,可能在作者的环境下没用(为什么我做个kettle项目如此困难o(╥﹏╥)o)

粗暴的解决方案:

这是作者最直接的方法,在本地创建好资源库,然后直接把本地的data-integration文件和.kettle文件直接打包上传(简单粗暴(#^.^#))

注意如果已经有了kettle作者当前环境,只是读取不到资源库和创建不了的话,直接上传.kettle文件也可以

还有更简单的方法就是不需要上传直接在已有的.kettle目录下创建repository.xml等文件,在repository.xml配置资源库信息就好,我就是更加粗暴了,全部一起上传

解压出来 unzip 

把data-integration解压到你创建的文件夹下这里直接解压在 kettle_res,把.kettle文件解压到用户下,首先记得把原先的.kettle文件改名

mv 旧文件夹名 新文件夹名

然后直接进我们打包上去的data-integration目录下

从上面可以看出,此目录下面的.sh文件都没有执行权限(X),需要这个文件夹下面的所有.sh文件赋执行的权限

chmod +x ./data-integration/*.sh

./kitchen.sh

./spoon.sh启动kettle

来了来了!他真的来了,直接可以选择你的资源库进行连接

点击出现空白,按照上面的操作给他新开个窗口就ok了

cd data-integration/ui
vim menubar.xul 在31行新增一行代码就搞定了

选择你要登入的资源库

探索资源库,成功读取,搞定

生产服务器只是用来调度的话,我们只需要把.kettle文件上传的就好了,主要还是repository.xml保存资源库信息的文件,只要这些配置信息没问题,和环境没问题就可以了

因为资源库是数据库资源库,所有操作都保存在数据库,所以开发的话我们可以直接在本地进行就行,生产服务器直接用来做调度

 

后面附加一下我在处理问题所参考的文章,欢迎探讨各种问题,最后感谢提供资料的大佬们

 

参考文献:

kettle 7.1 打开后没有出现资源库的连接按钮解决办法

Centos8/window下kettle不能连接资源库出现白屏等问题的解决方案

Kettle7.1在CentOS7下连接资源库报错No more handles [MOZILLA_FIVE_HOME=''] 等解决办法

kettle Redhat7连接资源库报错No more handles [MOZILLA_FIVE_HOME=''] 

kettle常见报错,附带解决方式

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值