测试机器一:华为鲲鹏920处理器,arm v8指令集,centos 7 arm版系统
测试机器二:天津飞腾ft1500a处理器,arm v8指令集,麒麟4.0 linux操作系统(类似于ubuntu 16)
1.注意事项一
报错提示:I'm sorry, this Linux platform [aarch64] is not yet supported!
这是因为spoon.sh脚本里面针对Linux没有考虑到处理器架构为arm64的情况,需要修改Linux下面的x86_64为aarch64即可解决。
2.注意事项二
报错提示:找不到swt.jar
如果提示这个,那就是上面的第一步你没有去修改x86_64那个位置,可能改的是别的位置。
3.注意事项三
报错提示:WARNING: no libwebkitgtk-1.0 detected,some features will be unavailable
解决这个比较麻烦,分几步走,第一步看你的机器里面是不是真的有libwebkitgtk-1.0这个库文件,华为机器可以直接执行:
sudo find / -name libwebkitgtk* 去找一下看看机器里面是不是真有对应的文件。
麒麟系统的话sudo -i 切换为root用户,密码要是不知道的话试试123123,然后执行sudo find / -name libwebkitgtk* 去看机器里面有没有对应的库文件。
要是没有,就得想办法安装libwebkitgtk-1.0库文件,x86机器配置一个nux-desktop源就可以联网在线安装了,但是arm机器不行,目前已知的是gnucash这个软件里面有libwebkitgtk-1.0这个库,想办法把gnucash下载安装好就可以了,具体怎么弄见我的另外一篇博客。
确定机器里面有libwebkitgtk-1.0.so.0文件以后,下一个问题就是怎么让linux找到这个库文件给kettle用,linux配置动态链接库的命令是ldconfig,默认配置参数文件在/etc/ld.so.conf.d下面,扩展名都是.conf,里面的内容就是动态链接库搜索路径,比如可以自己写一个叫做kettle.conf的动态库配置文件,里面的内容配置为libwebkitgtk-1.0所在的路径,配置完成以后,还需要执行一遍ldconfig去让linux更新缓存后才能找到这个文件。
如果上面的办法还是不行,还有一个叫做LD_LIBRARY_PATH的环境变量,编辑/etc/profile,export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:在这写上libwebkitgtk-1.0的路径,存盘后执行source /etc/profile,然后再次执行ldconfig更新缓存。
4.注意事项四
kettle job和ktr文件在windows能跑通,但是在linux下面就是不行的话,这是因为设计任务和转换的时候用的是windows,文件里面的路径都是windows路径,拿到linux下面肯定跑不通的,用vi编辑器手动修改一下ktr和kjb文件里面的路径就可以了。
本文介绍了在ARM处理器架构(如华为鲲鹏和天津飞腾)的Linux系统中部署Kettle ETL工具时遇到的四个主要问题及解决方案。包括修改spoon.sh脚本以支持aarch64架构,解决swt.jar缺失问题,添加libwebkitgtk-1.0库,以及调整文件路径以适应Linux环境。

2534

被折叠的 条评论
为什么被折叠?



