Hadoop-2.8.1源码编译【附相关软件】

hadoop源码编译的理由 

为什么要编译?
    答:hadoop提供了很多组件的本地实现,来解决由于性能原因或者某些java类库的缺失造成的问题。
        而这些组件保存在hadoop的本地库里,编译hadoop即是构建本地库的过程。

    说人话就是,为经过编译的hadoop功能不完善,比如hadoop要支持压缩,就必须编译。

1、准备工作

1、cd /opt/source && tar -zxvf hadoop-2.8.1-src.tar.gz ../apps

2、查看编译要求:
    cd /opt/apps/hadoop-2.8.1-src && more BUILDING.txt

* Unix System
* JDK 1.6+
* 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)

2、安装jdk

安装:
    rpm -ivh jdk-7u80-linux-x64.rpm
 
环境变量:
    vi + /etc/profile
        export JAVA_HOME=/usr/java/jdk1.7.0_80
        export PATH=$PATH:$JAVA_HOME/bin
    source /etc/profile

验证:
    java -version

3、安装依赖

yum install -y openssl openssl-devel svn ncurses-devel zlib-devel libtool gcc* ncurses-devel make cmake snappy snappy-devel bzip2 bzip2-devel lzo lzo-devel lzop autoconf automake

                                            

4、安装maven

1、cd /opt/source && unzip apache-maven-3.3.9-bin.zip && mv  apache-maven-3.3.9 ../apps

2、vi + /etc/profile
    export MAVEN_HOME=/opt/apps/apache-maven-3.3.9
    export PATH=$PATH:$MAVEN_HOME/bin
    export MAVEN_OPTS="-Xms256m -Xmx1024m"     

    source /etc/profile

3、验证
    mvn -version


注意:
    export MAVEN_OPTS="-Xms256m -Xmx1024m"     
    #####配置maven使用的最大和最小内存,内存不够可能会报错

    报错[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.6.5:compile (default-compile) on project hadoop-hdfs: Fatal error compiling: Error while executing the compiler. InvocationTargetException: Java heap space

5、安装protobuf

1、cd /opt/source && tar -zxvf protobuf-2.5.0.tar.gz -C ../apps 
  
2、cd ../apps/protobuf-2.5.0 && ./configure --prefix=/usr/local/protobuf

3、make && make install

4、vi + /etc/profile
    export PROTOC_HOME=/usr/local/protobuf
    export PATH=$PATH:$PROTOC_HOME/bin

    source /etc/profile

5、验证
    protoc --version

6、安装findbugs      

1、cd /opt/source && unzip  findbugs-1.3.9.zip && mv findbugs-1.3.9 ../apps/

2、vi + /etc/profile
    export FINDBUGS_HOME=/opt/apps/findbugs-1.3.9
    export PATH=$PATH:$FINDBUGS_HOME/bin

    source /etc/profile

3、验证:
    findbugs -version
    

5、编译

1、cd /opt/apps/hadoop-2.8.1-src


2、mvn clean package -Pdist,native -DskipTests -Dtar


编译时长从十多分钟到四五个小时不等,视网络而定,因为编译要下好多jar包。
如果不想这么久,可以在编译前将共享文件里的.m2.tar.gz解压到当前用户的家目录。
该.m2文件夹内全是编译下载好的jar包。

注意:
    有时候编译过程中会出现下载某个包的时间太久,这是由于连接网站的过程中会出现假死,此时按ctrl+c,重新运行编译命令。 
    如果出现缺少了某个文件的情况,则要先清理maven(使用命令 mvn clean) 再重新编译。



3、编译成功的提示信息

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17:09 min
[INFO] Finished at: 2019-04-24T19:09:20+08:00
[INFO] Final Memory: 256M/684M
[INFO] ------------------------------------------------------------------------

编译文件及压缩包位于/opt/apps/hadoop-2.8.1-src/hadoop-dist/target目录下:

[root@Linux005 target]# ll /opt/apps/hadoop-2.8.1-src/hadoop-dist/target
total 572388
drwxr-xr-x 2 root root      4096 Apr 24 19:08 antrun
drwxr-xr-x 3 root root      4096 Apr 24 19:08 classes
-rw-r--r-- 1 root root      2106 Apr 24 19:08 dist-layout-stitching.sh
-rw-r--r-- 1 root root       639 Apr 24 19:08 dist-tar-stitching.sh
drwxr-xr-x 9 root root      4096 Apr 24 19:08 hadoop-2.8.1 #####编译文件
-rw-r--r-- 1 root root 194963153 Apr 24 19:08 hadoop-2.8.1.tar.gz  #####压缩包
-rw-r--r-- 1 root root     30238 Apr 24 19:08 hadoop-dist-2.8.1.jar
-rw-r--r-- 1 root root 391027860 Apr 24 19:09 hadoop-dist-2.8.1-javadoc.jar
-rw-r--r-- 1 root root     27737 Apr 24 19:09 hadoop-dist-2.8.1-sources.jar
-rw-r--r-- 1 root root     27737 Apr 24 19:09 hadoop-dist-2.8.1-test-sources.jar
drwxr-xr-x 2 root root      4096 Apr 24 19:08 javadoc-bundle-options
drwxr-xr-x 2 root root      4096 Apr 24 19:08 maven-archiver
drwxr-xr-x 3 root root      4096 Apr 24 19:08 maven-shared-archive-resources
drwxr-xr-x 3 root root      4096 Apr 24 19:08 test-classes
drwxr-xr-x 2 root root      4096 Apr 24 19:08 test-dir

 

所需软件百度云链接:

链接:https://pan.baidu.com/s/1o8nGnnr4abibs2NGePMGAw 
提取码:irfi 
复制这段内容后打开百度网盘手机App,操作更方便哦

 

      

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二百四十九先森

你的打赏是我努力的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值