首页 > 代码库 > 编译hadoop2.6.0 cdh 5.4.5 集成snappy压缩
编译hadoop2.6.0 cdh 5.4.5 集成snappy压缩
1、下载源码:http://archive-primary.cloudera.com/cdh5/cdh/5/
2、准备编译环境
a、安装maven
b、安装protobuffer
./configure --prefix=/usr/local/protobuf
注意安装编译所需要的依赖包
sudo yum install gcc-c++
sudo yum -y install cmake
sudo yum -y install zlib
sudo yum -y install openssl-devel
老流程:
config > make >make check >make install
c、配置环境变量:
#protobuf
export PATH=$PATH:/usr/local/protobuf/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib
3、安装snappy
./configure --prefix=/usr/local/snappy
config > make >make check >make install
4、编译hadoop 集成snappy
export MAVEN_OPTS="-Xms256m -Xmx512m" mvn package -Pdist,native -DskipTests -Dtar -Dbundle.snappy -Dsnappy.lib=/usr/local/snappy/lib
注意:
编译2.6 需要1.7的JDK
编译完成位置:/home/hadoop/hadoop-2.6.0-cdh5.4.5/hadoop-dist/target
本地库里面集成了snappy
检查本地库加载
hadoop checknative -a
查看安装的基本信息
file ./*
编译中遇到的一个小问题:
问题:编译的时候配置了远程仓库,但是还是会读取中央仓库
<!--配置私服镜像--> <mirrors> <mirror> <!--This sends everything else to /public --> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror> <mirror> <mirrors>
该例中<mirrorOf>的值为星号,表示该配置是所有Maven仓库的镜像,任何对于远程仓库的请求都会被转至
http://maven.aliyun.com/nexus/content/groups/public/
如果该镜像仓库需要认证,则配置一个id为nexus的认证信息即可。
需要注意的是,由于镜像仓库完全屏蔽了被镜像仓库,当镜像仓库不稳定或者停止服务的时候,Maven仍将无法访问被镜像仓库,因而将无法下载构件。
解决办法:把*改为central
编译hadoop2.6.0 cdh 5.4.5 集成snappy压缩