【Hadoop】在Idea环境中编译Hadoop 2.7.6源码(Linux)

本次内容,我们来演示如何在Linux Idea环境中编译Hadoop 2.7.6 源码

  • 安装maven

wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz
tar -xzvf apache-maven-3.5.3-bin.tar.gz
  • 安装JDK 8

这里就不在赘述了,直接jdk直接从官网上下载下来,解压安装就行了。我的安装的是最新版本的CentOS Linux 7,其自带了JDK 8。所以这里不需要再安装了,直接使用。

  • 配置maven环境变量

vi ~/.bash_profile
export MAVEN_HOME=/home/hadoop/tools/apache-maven-3.5.3
export PATH=.:$PATH:$MAVEN_HOME/bin
  • 保存退出后,重新加载环境变量

source ~/.bash_profile

如果JAVA_HOME,没有配置对,那么验证maven的时候,可能会出现如下的错误:

The JAVA_HOME environment variable is not defined correctly.
This environment variable is needed to run this program   
NB: JAVA_HOME should point to a JDK not a JRE.
  • 安装相关的依赖库

yum install g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev gcc* openssl-devel
  • 安装protobuf-2.5.0

从如下网址下载后:https://github.com/google/protobuf/tree/v2.5.0

解压进入解压目录,执行如下命令编译安装即可(请使用root用户编译)

./configure
make
make install
  • 源码下载

接下来就是最激动人心的源码编译部分,我们先从官网下载Hadoop 2.7.6版本的源码下来

wget http://mirrors.shu.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6-src.tar.gz

idea-IC Linux版下载

wget https://download.jetbrains.8686c.com/idea/ideaIC-2018.1.4.tar.gz

并打开hadoop项目源码

接下来就是漫长的等待,在maven projects窗口配置好我们刚刚安装的maven之后,点击刷新,等maven自动将所有的依赖包下载下来之后,我们就可以开始编译了,好鸡冻!!

我们只要在maven projects窗口输入命令:

mvn clean package -Pdist,native -DskipTests -Dtar

即可开始编译

  • 编译

编译过程中可能出现如下报错,我们来一个个解决:

hadoop-common: Error running javah command: Error executing command line

找到hadoop-common项目下的pom.xml,将env.JAVA_HOME修改为java.home,文件中有两个地方需要做修改:

<javahPath>${java.home}/../bin/javah</javahPath>

修改hadoop-annotations的依赖范围为compile

vi ./hadoop-common-project/hadoop-auth/pom.xml
vi ./hadoop-common-project/hadoop-common/pom.xml 
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-annotations</artifactId>
    <scope>compile</scope>
</dependency>

将依赖hadoop-annotations的值由provide改成compile

如果修改环境变量,最好idea退出重新加载,因为可能出现环境变量没加载的情况。然后再重新编译,得到编译成功的清单,完毕!

生活

岂止于美

作者:苏鹭彬

长按二维码关注

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值