环境准备
用到的是Hadoop版本是2.6.0-cdh5.7.0的源码
maven 3.3.9
protobuf 2.5.0
yum install -y svn ncurses-devel gcc*
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 cmake
首先解压Hadoop源码,maven,protobuf到指定位置
tar -xzvf hadoop-2.6.0-cdh5.7.0-src.tar.gz -C ~/source/
tar -xzvf apache-maven-3.3.9-bin.tar.gz -C ~/app/
tar -xzvf protobuf-2.5.0.tar.gz -C ~/app/
将maven写入环境变量,记得生效
export MAVEN_HOME=/home/hadoop/app/apache-maven-3.3.9
export PATH=$MAVEN_HOME/bin:$PATH
检查版本
这里建议更改一下maven的库的路径
在maven的setting中添加
<localRepository>/home/hadoop/data/.m2/repo</localRepository>
protobuf配置
在profobuf中执行
./configure --prefix=/home/hadoop/app/protobuf-2.5.0
make
make install
然后修改环境变量,别忘了生效
export PROTOC_HOME=/home/hadoop/app/protobuf-2.5.0
export PATH=$PROTOC_HOME/bin:$PATH
然后就可以在Hadoop路径下执行编译了
mvn clean package -Pdist,native -DskipTests -Dtar
等待成功即可