编译Hadoop
- 下载Hadoop源码包。
1
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.1.1/hadoop-3.1.1-src.tar.gz
- 解压源码包。
1
tar -zxvf hadoop-3.1.1-src.tar.gz
- 进入解压后目录。
1
cd hadoop-3.1.1-src
- 修改pom.xml文件。
- 打开文件。
1
vi pom.xml
- 按“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>
- 添加插件仓库源,<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>
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开文件。
- 可选:openEuler操作系统需要安装相关依赖库并合入补丁。
- 安装依赖库。
1
yum -y install libtirpc libtirpc-devel
- 合入补丁。
1 2
wget https://issues.apache.org/jira/secure/attachment/12985484/HADOOP-15685.001.patch patch -p1 < HADOOP-15685.001.patch
- 安装依赖库。
- 执行基础编译命令。
1
mvn package -DskipTests -Pdist,native -Dtar -Dmaven.javadoc.skip=true
- 可选:添加Snappy库编译命令。
1
mvn package -DskipTests -Pdist,native -Dtar -Dsnappy.lib=/usr/local/lib64 -Dbundle.snappy -Dmaven.javadoc.skip=true
编译成功后,将在源码下的“hadoop-dist/target/”目录生成tar.gz包hadoop-3.1.1.tar.gz。
- 使用鲲鹏应用迁移工具扫描编译生成的tar包,确保没有包含x86的so和JAR包。