在华为taishan 200服务器鲲鹏920处理器私有云里面部署kettle依赖的方法

在未联网的华为Taishan 200服务器上,通过配置ARM源并使用yumdownloader在x86系统中下载aarch64架构的软件包,解决了部署kettle时缺少libwebkitgtk-1.0的问题。通过在x86系统中模拟ARM环境下载gnucash,并将gnucash的库路径添加到动态库搜索路径,成功部署kettle。

背景说明:

    公司服务器为华为ARM v8指令集centos系统,未连接互联网,现在需要部署kettle etl程序,但是发现启动程序依赖libwebkitgtk-1.0,因为未联网无法在线直接安装缺少的组件包,用过linux的都知道,乖乖,你要是安装一个rpm文件,附带的其他依赖得给你带过来一大堆,总不能一个文件一个文件的手动下载复制到内网安装吧?报错信息如下:

   如果有华为鲲鹏920处理器的机器,安装好centos系统,直接配置好epel源,用 yum install -y --downloaddir=/tmp --downloadonly gcc 这样的命令就可以把文件下载到本地,但是很可惜我们没有连接互联网的华为机器这么做。

  花钱去华为云买个按使用量计费的机器去下载依赖文件也可以,可惜的是,华为云略为的那个,充值不够的话那下载文件的速度都是每秒几k十几k的,想多下载点文件等不起。

   还有一种办法,找一台x86处理器机器,安装一个linux系统,然后再安装qemu,模拟arm指令集安装一个虚拟系统,然后在这个系统里面安装和云服务器一样的操作系统环境后下载文件使用,但是还是时间太长,未采用。

  最终的解决方案是这样的:

    在x86的centos系统里面配置ARM源,然后下载文件的时候禁用x86源,只启用arm源进行arm文件下载,具体参数如下:

1.配置华为云、阿里云等国内的arm源

第一个源,用于下载centos基础arm64架构的软件包,这个是用的华为云的,注意随着centos版本的更新,华为云里面提供的仓库路径地址是一直在变的,如果不能用了,把https://mirrors.huaweicloud.com/centos-altarch/这个地址复制到浏览器里面去看哪个os子目录里面有aarch64目录就用哪个。

vi /etc/yum.repos.d/arm1.repo

[arm1]
name=arm1
baseurl=https://mirrors.huaweicloud.com/centos-altarch/7.8.2003/os/aarch64/

 

第二个源,用于下载epel扩展仓库的arm64架构软件包,这个是阿里云的。

vi /etc/yum.repos.d/armepel.repo

[armepel]
name=armepel
baseurl=https://mirrors.aliyun.com/epel/7/aarch64/

配置完成以后,yum makecache生成本地数据库。

2.下载指定架构的软件包

sudo yum install -y yum-utils 安装yumdownloader程序

然后查询一下哪些包里面有我们要用的libwebkitgtk-1.0,命令如下:

可以看到,gnucash-2.6.21里面有libwebkitgtk-1.0文件,那就下载这个文件就可以了:

 yumdownloader --archlist=aarch64 --disablerepo=\* --enablerepo=arm1,armepel  gnucash

注意上面的--archlist=aarch64 ,这个是用于说明要下载的包是arm v8指令集的,-disablerepo=\* 这个是把所有的仓库源都禁用了,后面只开放我们新配置的两个源,--enablerepo=就是用于说明我们要用哪些源去下载文件。

一共需要下载182个文件就可以用了,这个yumdownloader一次性找不全需要用到的文件,我已经把资源上传到了这里,建议直接下载使用:https://download.csdn.net/download/peihexian/12728167 

安装好gnucash以后,系统默认的动态库装载路径里面是找不到libwebkitgtk-1.0这个库的,但是你去看gnucash里面确实是有libwebkitgtk-1.0这个库文件的,如下图:

接下来需要给linux的动态库搜索路径里面增加gnucash安装以后的路径,方法是在centos linux的动态库搜索路径配置文件/etc/ld.so.conf.d路径下面建立一个自己的conf文件,在conf文件里面写上路径地址,如下:

vi /etc/ld.so.conf.d/kettle.conf

输入内容:

/usr/lib64/gnucash/

保存后退出vi

然后执行ldconfig 重建动态库缓存。

修改一下kettle里面的spoon.sh脚本文件,那个脚本没有考虑操作系统是linux时处理器架构是arm64的情况,具体修改内容为:

找到LINUX那个位置,把第一个x86_64 改成aarch64 (注意,必须改x86_64这个,因为其他的里面没有swt.jar,启动的时候会报gui错误),改完以后是这样的:

 

 

 


 

评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

peihexian

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值