入门-Hadoop编译源码

1、前期准备工作

1.1、虚拟机centos7

配置 CentOS 能连接外网。Linux 虚拟机 ping www.baidu.com 是畅通的 注意:采用 root 角色编译,减少文件夹权限出现问题。

1.2、jar 包准备(hadoop 源码、JDK7 、 maven、 ant 、protobuf)

2、jar 包安装

注意:所有操作必须在 root 用户下完成。

2.1、JDK 解压、配置环境变量

tar -zxf jdk-7u79-linux-x64.gz -C /opt/module/

编辑vi /etc/profile 添加如下内容:

export JAVA_HOME=/opt/module/jdk1.7.0_79

export PATH=$PATH:$JAVA_HOME/bin

配置生效:source /etc/profile

验证命令:java -version

2.2、Maven 解压、配置

tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /opt/module/

编辑vi /etc/profile 添加如下内容:

#MAVEN_HOME

export MAVEN_HOME=/opt/module/apache-maven-3.0.5

export PATH=$PATH:$MAVEN_HOME/bin

配置生效:source /etc/profile

验证命令:mvn -version

2.3、ant 解压、配置

tar -zxvf apache-ant-1.9.9-bin.tar.gz -C /opt/module/

编辑vi /etc/profile 添加如下内容:

#ANT_HOME

export ANT_HOME=/opt/module/apache-ant-1.9.9

export PATH=$PATH:$ANT_HOME/bin

配置生效:source /etc/profile

验证命令:ant -version

2.4、安装 glibc-headers 和 g++ 命令如下:

yum install glibc-headers

yum install gcc-c++

2.5、安装 make 和 cmake

yum install make

yum install cmake

2.6、解压 protobuf ,进入到解压后 protobuf 主目录,/opt/module/protobuf-2.5.0 然后相继执行命令:

tar -zxvf protobuf-2.5.0.tar.gz -C /opt/module/

cd /opt/module/protobuf-2.5.0/

./configure

make

make check

make install

ldconfig

编辑vi /etc/profile 添加如下内容:

#LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/opt/module/protobuf-2.5.0

export PATH=$PATH:$LD_LIBRARY_PATH

配置生效:source /etc/profile

验证命令:protoc --version

2.7、安装 openssl 库

yum install openssl-devel

2.8、安装 ncurses-devel 库

yum install ncurses-devel

3、编译源码

31.、解压源码到/opt/ 目录

3.2、进入到 hadoop 源码主目录

3.3、通过 maven 执行编译命令

等待时间 30 分钟左右,最终成功是全部 SUCCESS。

3.4、成功的 64 位 hadoop 包在/opt/hadoop-2.7.2-src/hadoop-dist/target 下

4、常见的问题及解决方案

4.1、编译期间 maven 报错。可能网络阻塞问题导致依赖库下载不完整导致,多次执行命令 (一次通过比较难): [root@hadoop101 hadoop-2.7.2-src]#mvn package -Pdist,native -DskipTests -Dtar

4.2、MAVEN install 时候JVM内存溢出处理方式:在环境配置文件和maven的执行文件均可调整 MAVEN_OPT 的 heap 大小。

在构建大的项目时,需要大内存的支持,此时Maven可能会常常报内存溢出(OutOfMemory)的异常!解决的方法就是调整Java堆的大小。

找到文件%M2_HOME%\bin\mvn.bat,这就是启动Maven的脚本文件,找到该文件中以下代码所在的行:

@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE...

它的意思是你可以设置一些Maven参数,我们就在该行下面加入以下行:

set MAVEN_OPTS= -Xms256m -Xmx512m

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值