系统:centOS 6.5-x86_64
Hadoop版本:hadoop-2.8.1
1、下载hadoop源码,如果官网没有对应的版本,可以选择去github下载。
http://hadoop.apache.org/releases.html
https://github.com/apache/hadoop
2、准备编译环境
下载好源码后,解压后先修改解压文件的属主和属组。打开解压文件BUILDING.txt,上面有编译的要求和相关的命令。
执行以下命令获取依赖,这里需要先安装好make、gcc和g++,否则其它protobuf无法编译。
yum install -y gcc gcc-c++ make cmake
yum install -y openssl openssl-devel svn ncurses-devel zlib-devel libtool
yum install -y snappy snappy-devel bzip2 bzip2-devel lzo lzo-devel lzop autoconf automake
maven、Findbugs、ProtocolBuffer和JDK可自行下载。
3、添加与修改环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_45
export MAVEN_HOME=/opt/software/apache-maven-3.3.9
export MAVEN_OPTS="-Xms25m -Xmx512m"
export FINDBUGS_HOME=/opt/software/findbugs-1.3.9
export PROTOC_HOME=/usr/local/protobuf
export HADOOP_HOME=/opt/software/hadoop
export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${PROTOC_HOME}/bin:${FINDBUGS_HOME}/bin:${MAVEN_HOME}/bin:${JAVA_HOME}/bin:${PATH}
4、编译
进入hadoop-2.8.1-src目录,进行编译。编译命令在BUILDING.txt也可以查看,但是建议加上clean
mvn clean package -Pdist,native -DskipTests -Dtar
备注:
1、由于国情问题maven下载依赖包会较慢,可以选择使用阿里仓库。
2、下载依赖包中可能出现假死现象,ctrl+c后再一次执行刚刚的编译命令即可。
3、编译好的tar包目录位置hadoop-2.8.1-src/hadoop-dist/target/hadoop-2.8.1.tar.gz。