中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

软件迁移评估

前提条件

  • 已成功安装鲲鹏DevKit,并已安装应用迁移工具。
  • 已安装鲲鹏DevKit插件,并已配置远端服务器。

操作步骤

  1. https://ci.bigtop.apache.org/view/Releases/job/Bigtop-3.0.0/DISTRO=centos-7,PLATFORM=amd64-slave/lastSuccessfulBuild/artifact/output/hadoop/x86_64/获取待使用的RPM包,如图1所示。
    图1 下载RPM包
  2. 打开鲲鹏DevKit插件并登录鲲鹏DevKit工具,在左侧导航栏中里选择“应用迁移 > 软件迁移评估”,勾选“分析软件包”,单击“上传”上传待分析的x86的RPM包,操作系统根据实际情况选择,默认为openEuler22.03,此处单击目标操作系统下拉菜单选择openEuler 22.03 SP3,然后单击“开始分析”
    图2 软件迁移评估
  3. 分析完成后会在右侧工具列表对应功能下拉列表中生成分析报告,单击对应报告进入详情页或等待分析完成后会自动跳转到报告页面。报告中会显示需要替换的可执行文件、JAR包、so文件以及安装过程中依赖的软件包如图3所示。
    图3 分析报告

    本文以分析hadoop-hdfs-3.2.2-1.el7.x86_64.rpm为例,扫描结果包含需要迁移的依赖库文件,具体处理建议如表1所示。如果报告中显示需要替换的jar包鲲鹏maven仓库已存在,则可跳过jar包编译的过程。重构的过程中会自动从鲲鹏maven仓库下载并替换相关jar包。

    表1 hadoop-hdfs-3.2.2-1.el7.x86_64.rpm包分析结果

    序号

    依赖库文件

    所在路径

    处理建议

    1

    bigtop-groovy

    该可执行文件是从当前分析的软件包中获取的依赖信息。

    扫描后软件包不支持鲲鹏平台,需要自行编译后再替换。

    2

    hadoop

    该可执行文件是从当前分析的软件包中获取的依赖信息。

    3

    bigtop-jsvc

    该可执行文件是从当前分析的软件包中获取的依赖信息。

    4

    snappy-java-1.0.5.jar

    /package/hadoop-hdfs-3.2.2-1.el7.x86_64.rpm/usr/lib/hadoop-hdfs/lib/snappy-java-1.0.5.jar

    由分析报告中的分析结果可知,这3个jar包兼容鲲鹏平台,可直接单击右边“下载”下载。

    4

    leveldbjni-all-1.8.jar

    /package/hadoop-hdfs-3.2.2-1.el7.x86_64.rpm/usr/lib/hadoop-hdfs/lib/leveldbjni-all-1.8.jar

    5

    netty-all-4.1.48.Final.jar

    /package/hadoop-hdfs-3.2.2-1.el7.x86_64.rpm/usr/lib/hadoop-hdfs/lib/netty-all-4.1.48.Final.jar

  4. 获取需要替换的对应的二进制文件。

    分析扫描报告,当前版本RPM包需要替换的jar包有3个:snappy-java-1.0.5.jar、leveldbjni-all-1.8.jar、netty-all-4.1.48.Final.jar。这3个jar包鲲鹏maven仓库已存在,不用编译。只需关注可执行文件和so文件。

    表1中可执行文件可通过编译Hadoop组件获取,编译过程可参考:Hadoop 3.1.1 移植指南(CentOS 7.6&openEuler 20.03)