依赖准备
CentOS7
hadoop-2.6.0-cdh5.7.0-src.tar.gz
注:编译时Maven3.3.9及以上版本,JDK只能是 1.7(1.8及以上都是不行的),protobuf-2.5.0(同JDK一样)
编译protobuf-2.5.0
yum install -y gcc gcc-c++ make cmake
tar -zxvf protobuf-2.5.0.tar.gz #解压
cd protobuf-2.5.0 #进入到解压后的目录中
#编译protobuf,并安装到指定位置,建议使用root用户进行编译安装
./configure --prefix=/usr/local/protobuf-2.5.0
make && make install
#安装完成后,配置 protobuf 的环境变量
export PROTOBUF_HOME=/usr/local/protobuf-2.5.0
export PATH=$PROTOBUF_HOME/bin:$PATH
#验证配置
protoc --version
JDK环境配置
maven环境配置
更改仓库地址为阿里云Maven仓库(可选,建议)
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
上述的依赖的jar包添加到maven本地仓库中(可选,建议)
安装压缩及其它类库
#安装类库
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
#解压hadoop源码包,并进入解压目录下
tar -zxvf hadoop-2.6.0-cdh5.7.0-src.tar.gz
cd hadoop-2.6.0-cdh5.7.0
#编译
mvn clean package -Pdist,native -DskipTests -Dtar
编译成功后的安装包存放在 hadoop-dist/target/ 目录下:
hadoop-2.6.0-cdh5.7.0.tar.gz or hadoop-2.6.0-cdh5.7.0
检查编译后是安装包是否支持压缩
[root@localhost bin]./hadoop checknative -a
19/05/02 19:36:13 INFO bzip2.Bzip2Factory: Successfully loaded & initialized native-bzip2 library system-native
19/05/02 19:36:13 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native library checking:
hadoop: true /opt/hadoop-2.6.0-cdh5.7.0/lib/native/libhadoop.so.1.0.0
zlib: true /lib64/libz.so.1
snappy: true /lib64/libsnappy.so.1
lz4: true revision:99
bzip2: true /lib64/libbz2.so.1
openssl: true /lib64/libcrypto.so