博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu16.04下将hadoop2.7.3源代码导入到eclipse neon中
阅读量:4581 次
发布时间:2019-06-09

本文共 2548 字,大约阅读时间需要 8 分钟。

0.为什么会有这篇:

  这篇文章的目的在于帮助想学习hadoop源码的内容,却在导入的过程中出现了各种问题的人。

  或许你一定找了很多博客都无果,那么不用担心,我和你一样,这也是这篇文章存在的意义,废话少说,进入正题。

导入的主要过程如下:

1.下载源代码:

首先,登录hadoop的官网(),寻找源码包。

下载地址:

2.解压并打开BUIDING.txt:

tar -xvf hadoop-2.7.3-src.tar.gzcd hadoop-2.7.3-srcvim BUILDING.txt

有如下两段:

第一段:

Installing required packages for clean install of Ubuntu 14.04 LTS Desktop:* Oracle JDK 1.7 (preferred)  $ sudo apt-get purge openjdk*  $ sudo apt-get install software-properties-common  $ sudo add-apt-repository ppa:webupd8team/java  $ sudo apt-get update  $ sudo apt-get install oracle-java7-installer* Maven  $ sudo apt-get -y install maven* Native libraries  $ sudo apt-get -y install build-essential autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev* ProtocolBuffer 2.5.0 (required)  $ sudo apt-get -y install libprotobuf-dev protobuf-compiler

第二段:

Importing projects to eclipseWhen you import the project to eclipse, install hadoop-maven-plugins at first.  $ cd hadoop-maven-plugins  $ mvn installThen, generate eclipse project files.  $ mvn eclipse:eclipse -DskipTestsAt last, import to eclipse by specifying the root directory of the project via[File] > [Import] > [Existing Projects into Workspace].

综合这两段内容,如果是在14.04或许可以成功,但是实际在16.0的版本出现了问题

3.解决BUIDING.txt里的问题:

主要问题有两个:

一个坑是jdk的问题:

$ sudo add-apt-repository ppa:webupd8team/java$ sudo apt-get update$ sudo apt-get install oracle-java7-installer

如上的过程是为了安装jdk7,实际执行的过程会因为无法FQ,导致秘钥无法下载。

替代的方法:从oracle官网下载

从命令行里提示的结果可以看到:

这个jdk的版本号是jdk-7u80

下载地址:

Oracle的官网,这个只能自己下载,下载前必须接受协议。

当然为了方便我会将这个导入过程所有用到的包全部放进百度云里。链接附在本文的最后了。

下面怎么做就很简单了,我想对于一个要看hadoop源码的人,装个jdk,配置个环境变量应该是没问题的吧。

这个第二个坑就是ProtocolBuffer的版本问题:

这个坑尤其大,导致我编译了一半,才发现问题,这个系统默认为我装上了2.6.1,醉了。。。。。。

替代方案:

从官网下载ProtocolBuffer2.5.0来编译安装

如果你和我一样也被自动安装上了2.6.1,那就只好卸载了,命令如下:

sudo apt-get purge libprotobuf-dev protobuf-compiler

然后我们下载官网的protoc2.5.0:

下载地址:

安装过程:

贴一个别人的连接

安装过程会有一个坑参照这篇文章解决:

以下摘自:

错误原因

protobuf的默认安装路径是/usr/local/lib,而/usr/local/lib不在ubuntu体系默认的LD_LIBRARY_PATH里,所以就找不到lib

解决办法

(1)  在 /etc/ld.so.conf.d/目录下创建文件 bprotobuf.conf文件,文件内容如下

/usr/local/lib

(2) 输入命令

sudo ldconfig

这时,再输入protoc --version就可以正常看到版本号了

4.接着就是把工程转换成eclipse项目:

请注意,若果你网络有访问外国网站比较慢的情况,请修改你的maven源至国内源,我使用的阿里云的maven仓库:

再贴一个连接:

一切准备好了,就开始我们编译步骤了

cd hadoop-maven-pluginsmvn installcd ..mvn eclipse:eclipse -DskipTests

然后就是漫长的等待了……

附一张最后成功的图:

编译实际的过程用了应该有30多分钟,途中的26分钟只是因为protoc版本不对后的部分编译时间。

5.导入到eclipse中:

 

可以看到全都识别了,finish。

微量的错,基本不影响看主要的源代码了,当然你也可以去想法修复它们,这至少比直接一导入全是错要来的好了。

环境问题解决,以后就可以愉快的研究hadoop的源代码了。

有问题可以,留下评论,或者联系我:584754656@qq.com

 

转载于:https://www.cnblogs.com/purstar/p/6071225.html

你可能感兴趣的文章
关于Eclipse的unsupported major minor version 51.0 错误
查看>>
2014年目标
查看>>
weblogic启动后 登陆控制台特别慢的问题
查看>>
Spring加载resource时classpath*:与classpath:的区别
查看>>
映射“DataAdapter.TableMappings”
查看>>
activity生命周期
查看>>
动画学习之Music图形绘制
查看>>
2019 2.15模拟赛
查看>>
基于H5 pushState实现无跳转页面刷新
查看>>
关于同余与模运算的总结
查看>>
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
查看>>
【转载】法线贴图Nomal mapping 原理
查看>>
prado 初步分析
查看>>
php 做守护进程1
查看>>
简单员工管理实例
查看>>
SAP 到出XLS
查看>>
HSV
查看>>
JAVA程序中SQL语句无法传递中文参数
查看>>
Android学习_数据库查询使用rawQuery遇到的问题
查看>>
|待研究|委托付款的支付状态触发器
查看>>