基于华为云弹性云服务器ECS完成鲲鹏代码迁移工具实践

原创 收藏 评论
举报 2022-08-15

【摘要】 基于华为云弹性云服务器ESC(鲲鹏服务器),部署鲲鹏代码迁移工具利用扫描迁移工具进行源码分析,根据扫描建议修改源码,让源码在鲲鹏平台可以正常编译运行

零、前情提要

先来说句题外话,最近华为鲲鹏DevKit训练营开始了,有兴趣的同学可以试一试!

更多详情可参考鲲鹏开发者社区。

一、目标

基于华为云弹性云服务器ECS,自行部署鲲鹏代码迁移工具,完成鲲鹏代码迁移工具实践——进行Megahit源码迁移。利用扫描迁移工具进行源码分析,根据扫描建议修改源码,让源码在鲲鹏平台可以正常编译运行。

华为云弹性云服务器ECS配置:

二、操作前提

1. 认真观看迁移工具的实战视频

可到鲲鹏开发者社区查看,还有很多详细的文档资料啊。

2. (可选)申请远程实验室

因为ECS需要购买,如果不方便购买,可以到在鲲鹏社区申请免费的远程实验室,操作系统选择OpenEuler。

不得不说,远程实验室的配置还是很强大的啊。

申请之后,会收到一封邮件,邮件提供了账号等信息,注意要按照邮件指导,在 VPN 端登录,之后才能使用远程实验室。

注意,请卸载除官方提供的VPN软件外的其他VPN软件,否则可能即使VPN登录成功,也无法访问,切记!!!这是血泪教训。

下面操作对ECS和远程实验室的操作都做了介绍,无论选择哪种方式,都可以的!

三、准备工作

如果你使用的是远程实验室,按照官方介绍,是打开工具的web网页 ,并进行登录。该web界面的IP地址,账号以及密码等信息在邮件中有详细说明哦。注意如果提示风险,要选择继续哦。

登录后的界面为:

好了,就是先看看哈,验证下可以正常访问远程实验室,后面会用到,这里我们先来做准备工作,用MobaXterm登录刚购买的ECS啊。

下面准备Megahit源码。这里简单介绍下哈,Megahit是一个超快速和内存高效的NGS汇编程序。它是针对多基因组优化的,但也适用于一般的单基因组组装和单细胞组装。需要注意的是Megahit源码包存在大量汇编,后面我们会注意到迁移到鲲鹏平台前需要识别并验证通过“鲲鹏代码迁移工具”迁移后的代码是否正确,以及识别出是否还有“鲲鹏代码迁移工具”遗漏的相关文件。

1. 使用MobaXterm工具,以root用户登录服务器。

就是ssh登录,常规操作了,如果看到类似如下界面,说明登录成功:

2. 进入“鲲鹏代码迁移工具”源码文件存放路径。

cd /opt/portadv/portadmin/sourcecode/

3. 下载Megahit源码。

git clone https://github.com/voutcn/megahit.git

4. 将代码进行合并。

注意如下代码不对,正确代码请见这小项最后。

cd megahit/ && git submodule update -init

这里注意不要直接复制教程中所给的代码,因为教程中的-init中的-符号有问题,会报错如下:


对了,在英文模式下,单击键盘上的字母I就能编辑了。

退出保存,需要先点击键盘左上角的Esc键,之后执行:

:wq!

再次执行make命令,编译通过。

注意,编译是比较耗费时间的,大家可以先休息一下,眺望远方,放松下眼睛。编译运行中界面:

top命令查看CPU运行情况:

经过大约2分钟的等待,编译完成了,期间运行内存在3.5GB上下浮动。完成界面如下图所示:

六、运行和验证

记住啊,目前我们是使用MobaXterm工具,以root用户登录远程实验室的服务器。

1. 下面,进入可执行文件的安装目录。其实,就是当前目录,因为我们之前就是在这个目录编译的,这里是为了再确认一下。

cd /opt/portadv/portadmin/sourcecode/megahit/build/

2. 执行以下命令运行:

make simple_test

注意:make simple_test里用到的.fa文件是github上下载软件包的时候就自带了,无需额外下载。

运行截图:

最终运行结果展示:

搞定了,完结,撒花!!!

结语

如果是体验过程中,有哪些要反馈或吐槽的?

1.VPN连接

如果你使用的是鲲鹏社区的免费远程实验室,那么这个VPN算一个,我正在调试程序,居然自己断开了,报错如图所示:

退出VPN再登录也不好用,有点不稳点吧。而且太耽误进度了,我可就差重新编译验证了。好吧,其实我坦白,重新make时报错了,我正准备定位问题,修改呢。正在兴头上,突然就断了???

不过我可能错怪它了,上图报错可能是我本地网络较差,经过重启电脑,等待之后就又能连接上了。

2. 鲲鹏迁移工具的Web界面显示文件名称不全

第二个就是鲲鹏迁移工具的Web界面了,在源码迁移建议那里无法查看完整文件名称,鼠标悬停也不行,也无法调整显示宽度,有点不友好啊。


本文系作者授权数英发表,内容为作者独立观点,不代表数英立场。
转载请在文章开头和结尾显眼处标注:作者、出处和链接。不按规范转载侵权必究。
本文系作者授权数英发表,内容为作者独立观点,不代表数英立场。
未经授权严禁转载,授权事宜请联系作者本人,侵权必究。
本内容为作者独立观点,不代表数英立场。
本文禁止转载,侵权必究。
本文系数英原创,未经允许不得转载。
授权事宜请至数英微信公众号(ID: digitaling) 后台授权,侵权必究。

    评论

    文明发言,无意义评论将很快被删除,异常行为可能被禁言
    DIGITALING
    登录后参与评论

    评论

    文明发言,无意义评论将很快被删除,异常行为可能被禁言
    800

    推荐评论

    暂无评论哦,快来评论一下吧!

    全部评论(0条)