1

准备:
解压hadoop-2.6.0-cdh5.7.0.tar.gz源码包,看到里面有个BUILDING.txt文件,里面列出了编译所需依赖组件。

Requirements:

  • Unix System
  • JDK 1.7+
  • Maven 3.0 or later
  • Findbugs 1.3.9 (if running findbugs)
  • ProtocolBuffer 2.5.0
  • CMake 2.6 or newer (if compiling native code), must be 3.0 or newer on Mac
  • Zlib 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 to

generate & 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 without
documentation:

$ mvn package -Pdist -DskipTests -Dtar

Create binary distribution with native code and with documentation:

$ mvn package -Pdist,native,docs -DskipTests -Dtar

cd到解压后的hadoop-2.6.0-cdh5.7.0源码目录下,使用mvn -e clean package -Pdist,native -DskipTests -Dtar编译(使用-e参数输出错误堆栈信息,有利于定位),编译完成后,默认会在源码根目录的hadoop-dist目录下生成target,里面的hadoop-2.6.0-cdh5.7.0文件夹就是已经编译好并已解压的hadoop了(直接用的),可以将其拷贝到自定义的位置进行部署配置。

[root@NN1 hadoop-2.6.0-cdh5.7.0]# ./bin/hadoop checknative
19/04/10 11:22:34 INFO bzip2.Bzip2Factory: Successfully loaded & initialized native-bzip2 library system-native
19/04/10 11:22:34 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native 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.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

可以看到编译的hadoop支持了各种压缩,亲测有效!


Wish大人
79 声望7 粉丝