hadoop3.x编译源码(centos7平台,支持snappy) 作者:马育民 • 2021-07-14 11:36 • 阅读:10924 # hadoop ### 下载源码 https://archive.apache.org/dist/hadoop/common/ 下载指定的版本,如:hadoop-3.0.3-src.tar.gz ### 上传linux 解压缩: ``` tar -zxvf hadoop-3.0.3-src.tar.gz ``` # 说明文档 从解压缩目录中有文件:`BUILDING.txt`,该文件是说明文档,详细介绍各个平台下的操作步骤 # 安装java相关的软件 ### 安装jdk 见:https://www.malaoshi.top/show_1C7b6OYIHjW.html ### 安装maven [linux安装maven](https://www.malaoshi.top/show_1IX1UMM80Y7q.html "linux安装maven") [maven的远程库和配置本地库](https://www.malaoshi.top/show_1C71a0RUnSb.html "maven的远程库和配置本地库") [maven使用阿里云提供的Maven镜像服务器](https://www.malaoshi.top/show_1EFw0qXuUQK.html "maven使用阿里云提供的Maven镜像服务器") # 安装c/c++编译环境 编译 snappy 等 需要使用 ``` yum install -y gcc gcc-c++ make automake ``` # 安装snappy ### 下载 https://src.fedoraproject.org/repo/pkgs/snappy/ ``` tar -zxvf snappy-1.1.3.tar.gz ``` 进入目录: ``` cd snappy-1.1.3 ``` ### 安装 执行下面命令: ``` ./configure ``` ``` make ``` ``` make install ``` # [Protobuf](https://www.malaoshi.top/show_1IX1UePixfoG.html "Protobuf") 必须是2.5版本 ### 下载 https://github.com/protocolbuffers/protobuf/releases 云盘下载: 链接: https://pan.baidu.com/s/1eGm9F6Q5s0n2IizdDtRrWA 密码: n9j8 ### 安装 ``` tar zxvf protobuf-2.5.0.tar.gz cd protobuf-2.5.0 ./configure make make check make install ``` 测试 ``` protoc --version ``` # CMake 执行 mvn 时会用到 要求3.1以上版本,yum中cmake版本太低,所以要手动安装 ### 下载 https://cmake.org/files/v3.13/ ### 解压缩 ``` tar zxvf cmake-3.13.0-Linux-x86_64 ``` ### 配置环境变量 ``` vim /etc/profile ``` 在最下行增加下面内容: ``` export PATH=/devtools/cmake-3.13.0-Linux-x86_64/bin/:$PATH ``` 使其立即生效: ``` source /etc/profile ``` 测试: ``` cmake -version ``` 执行结果: ``` cmake version 3.13.0 ``` # 其他安装 ``` yum install autoconf automake libtool ``` ``` yum install -y zlib ``` ``` yum install zlib-devel ``` ``` yum install -y openssl openssl-devel ``` # 安装 DynamoDBLocal-1.11.86 编译时需要用到 亚马逊 的 DynamoDBLocal,而这个库在 maven 阿里云仓库 上没有,需要额外处理 ### 下载 下载jar: https://s3-us-west-2.amazonaws.com/dynamodb-local/release/com/amazonaws/DynamoDBLocal/1.11.86/DynamoDBLocal-1.11.86.jar 下载pom: https://s3-us-west-2.amazonaws.com/dynamodb-local/release/com/amazonaws/DynamoDBLocal/1.11.86/DynamoDBLocal-1.11.86.pom ### 安装 放到maven本地仓库地址,如下: ``` maven本地仓库\com\amazonaws\DynamoDBLocal\1.11.86 ``` 该路径应该已经建好了 # 编译 ``` mvn package ``` **参数说明:** - Pdist,native :编译生成hadoop动态库; - DskipTests :跳过测试 - Dtar :以tar打包 - Dbundle.snappy :添加snappy压缩支持【默认官网下载的是不支持的】 - Dsnappy.lib=/usr/local/lib :snappy在编译机器上安装后的库路径 ### 命令一 进入 hadoop 目录,执行下面命令: ``` mvn package -DskipTests -Pdist,native -Dtar -Drequire.snappy -e -X ``` ### 命令二(亲测可行) 跳过 javadoc 文档 ``` mvn package -DskipTests -Pdist,native -Dtar -Drequire.snappy -e -X -Dmaven.javadoc.skip=true ``` ### 编译结果 控制台提示如下: ``` [INFO] BUILD SUCCESS ``` 表示成功 ### 编译文件 在 `hadoop-3源码目录/hadoop-dist/target/` 目录下有 hadoop-3.0.3.tar.gz 文件,这个就是编译成功的 hadoop 压缩包 原文出处:/show_1IX1UPSpQtLP.html