在hadoop-2.6.0-cdh5.7.0源码中有个BUILDING.txt文件,里面列出了编译所需依赖组件。Requirements:Unix SystemJDK 1.7+Maven 3.0 or laterFindbugs 1.3.9 (if running findbugs)ProtocolBuffer 2.5.0CMake 2.6 or newer (if compiling native code), must be 3.0 or newer on MacZlib devel (if compiling native code)openssl devel ( if compiling native hadoop-pipes )Internet connection for first build (to fetch all Maven and Hadoop dependencies)转载链接文章中或通过yum安装或通过自己下载提供了所有正确版本组件,并将已下载组件通过百度云分享。我想补充一点的是,yum安装可能报出Another app is currently holding the yum lock; waiting for it to exit…的错误,可参考https://blog.csdn.net/testcs_…强制关闭yum进程来解决。根据BUILDING.txt提示Build options:Use -Pnative to compile/bundle native code * Use -Pdocs togenerate & bundle the documentation in the distribution (using -Pdist)Use -Psrc to create a project source TAR.GZ * Use -Dtar to create a TAR with the distribution (using -Pdist)Building distributions:Create binary distribution without native code and withoutdocumentation:$ mvn package -Pdist -DskipTests -DtarCreate binary distribution with native code and with documentation:$ mvn package -Pdist,native,docs -DskipTests -Dtar使用mvn clean package -Pdist,native -DskipTests -Dtar编译,编译完成后,默认会在源码根目录的hadoop-dist目录下生成target,里面的hadoop-2.6.0-cdh5.7.0文件夹就是已经编译好并已解压的hadoop了(直接用的),可以将其拷贝到自定义的位置进行部署配置。[root@NN1 hadoop-2.6.0-cdh5.7.0]# ./bin/hadoop checknative19/04/10 11:22:34 INFO bzip2.Bzip2Factory: Successfully loaded & initialized native-bzip2 library system-native19/04/10 11:22:34 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib libraryNative library checking:hadoop: true /root/hadoop-c/hadoop-2.6.0-cdh5.7.0-target/hadoop-2.6.0-cdh5.7.0/lib/native/libhadoop.so.1.0.0zlib: true /lib64/libz.so.1snappy: true /lib64/libsnappy.so.1lz4: true revision:99bzip2: true /lib64/libbz2.so.1openssl: true /lib64/libcrypto.so可以看到编译的hadoop支持了各种压缩,亲测有效!