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

编译Hadoop

  1. 下载Hadoop源码包。
    1
    wget https://archive.apache.org/dist/hadoop/common/hadoop-3.1.1/hadoop-3.1.1-src.tar.gz
    
  2. 解压源码包。
    1
    tar -zxvf hadoop-3.1.1-src.tar.gz
    
  3. 进入解压后目录。
    1
    cd hadoop-3.1.1-src
    
  4. 修改pom.xml文件。
    1. 打开文件。
      1
      vi pom.xml
      
    2. “i”进入编辑模式,在<repositories>标签的第一位添加鲲鹏Maven仓库源。
      1
      2
      3
      4
      5
         <repository>
              <id>kunpengmaven</id>
              <name>kunpeng maven</name>
              <url>https://mirrors.huaweicloud.com/kunpeng/maven</url>
         </repository>
      
    3. 添加插件仓库源,<pluginRepositories>和<repositories>的节点级别一样。
      1
      2
      3
      4
      5
      6
      7
      8
      9
      <pluginRepositories>
        <pluginRepository>
          <id>huaweicloud-plugin</id>           
          <url>http://mirrors.huaweicloud.com/repository/maven</url>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
      
    4. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  5. 可选:openEuler操作系统需要安装相关依赖库并合入补丁。
    1. 安装依赖库。
      1
      yum -y install libtirpc libtirpc-devel
      
    2. 合入补丁。
      1
      2
      wget https://issues.apache.org/jira/secure/attachment/12985484/HADOOP-15685.001.patch
      patch -p1 < HADOOP-15685.001.patch
      
  6. 执行基础编译命令。
    1
    mvn package -DskipTests -Pdist,native -Dtar -Dmaven.javadoc.skip=true
    
  7. 可选:添加Snappy库编译命令。
    1
    mvn package -DskipTests -Pdist,native -Dtar -Dsnappy.lib=/usr/local/lib64 -Dbundle.snappy -Dmaven.javadoc.skip=true
    

    如果按照编译依赖包步骤安装了Snappy依赖包,执行此编译命令。

    编译成功后,将在源码下的“hadoop-dist/target/”目录生成tar.gz包hadoop-3.1.1.tar.gz。

  8. 使用鲲鹏应用迁移工具扫描编译生成的tar包,确保没有包含x86的so和JAR包。
    • 编译好的hadoop-3.1.1.tar.gz包一定要使用鲲鹏应用迁移工具扫描,确保没有包含x86的so和JAR包。若不进行扫描,可能会存在x86的so和JAR包未被及时发现并处理的情况,从而对组件的后续功能使用产生负面影响。
    • 关于如何使用鲲鹏应用迁移工具进行扫描的详细信息,请参见《使用鲲鹏应用迁移工具案例》。