Rate This Document
Findability
Accuracy
Completeness
Readability

Software Porting Assessment

Prerequisites

  • Kunpeng DevKit has been successfully installed and the Kunpeng Porting Advisor has been installed.
  • The Kunpeng DevKit plugin has been installed and the remote server has been configured.

Procedure

  1. Obtain the required RPM package from https://ci.bigtop.apache.org/view/Releases/job/Bigtop-3.0.1/DISTRO=centos-7,PLATFORM=amd64-slave/lastSuccessfulBuild/artifact/output/hadoop/x86_64/. See Figure 1.
    Figure 1 Downloading the RPM package
  2. Open the Kunpeng DevKit plugin and log in to the Kunpeng DevKit. In the navigation tree on the left, choose Porting Advisor > Software Porting Assessment. Select Analyze Software Package and click Upload to upload the x86 RPM package to analyze. Select an OS as required. The default option is openEuler 22.03. In this example, select openEuler 22.03 SP3 from the Target OS drop-down list and click Analyze.
    Figure 2 Software Porting Assessment
  3. After the analysis is complete, an analysis report is generated in the drop-down list of the corresponding function in the tool list on the right. Click the report to go to the report page. You can also wait until the analysis is complete and later the report page is automatically displayed. The report displays the executable files, JAR packages, and SO files that need to be replaced, as well as the software packages required for the installation. See Figure 3.
    Figure 3 Analysis report

    As an example, Table 1 provides the porting suggestions for hadoop-hdfs-3.2.2-1.el7.x86_64.rpm. The scanning result lists the dependencies to be ported. If the report shows that the Kunpeng Maven repository has already contained the JAR package, skip the JAR package compilation operation. During the rebuild, the Kunpeng Porting Advisor automatically downloads the target JAR package from the Kunpeng Maven repository and uses it to replace the existing one.

    Table 1 Analysis result of the hadoop-hdfs-3.2.2-1.el7.x86_64.rpm package

    No.

    Dependency File

    Path

    What to Do

    1

    bigtop-groovy

    The executable file contains the dependency information obtained from the current software package.

    The scanning result shows that the software package does not support the Kunpeng platform. You need to compile the software package and then replace it.

    2

    hadoop

    The executable file contains the dependency information obtained from the current software package.

    3

    bigtop-jsvc

    The executable file contains the dependency information obtained from the current software package.

    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

    According to the analysis result, the three JAR packages are compatible with the Kunpeng platform. Click Download on the right to download them.

    5

    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

    6

    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. Obtain the binary files that need to be replaced.

    According to the report, the RPM package of the existing version has three JAR packages that need be replaced: snappy-java-1.0.5.jar, leveldbjni-all-1.8.jar, and netty-all-4.1.48.Final.jar. The three JAR packages already exist in the Kunpeng Maven repository and do not need to be compiled. Replace the executable files and SO files only.

    Executable files listed in Table 1 can be obtained by compiling Hadoop components. For details about the compilation process, see Hadoop 3.1.1 Porting Guide (CentOS 7.6 & openEuler 20.03).