在Eclipse中打开Hadoop工程
1. 安装虚拟机,我用的是VMware Workstation 12 Player
2. 在VM中安装Ubuntu,我用的镜像文件是ubuntu-15.10-desktop-amd64.iso
3. 安装java,sudo apt-get install openjdk-7-jdk
4. 安装Eclipse,去Eclipse官网http://www.eclipse.org/downloads,下载Eclipse安装器,运行后选择安装Eclipse IDE for Java Developers
5. 安装git与maven,sudo apt-get install git maven
后面的部分是参考Apache官网的wiki来完成的:http://wiki.apache.org/hadoop/EclipseEnvironment
6. 用git下载Hadoop源码,git clone git://git.apache.org/hadoop-common.git
7. cd进入git下载的hadoop-common文件夹内,然后输入命令:mvn install -DskipTests
这一步可能会报错 cannot run program protoc 之类的
原因是系统没有安装google的protobuf
有一点需要注意的是,当前版本的Hadoop(2.6.4)是依赖于protobuf 2.5.0,而使用apt-get install 安装的protobuf高于这个版本,所以我们需要手动安装2.5.0版本的protobuf
而由于墙的缘故,我们只好使用别人分享的源码了,下载链接是:http://pan.baidu.com/s/1pJlZubT
安装方法参考http://blog.csdn.net/realxie/article/details/7456013
输入protoc --version命令,如显示libprotoc 2.5.0则安装成功
8. 继续输入命令:mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true
9. 在Eclipse中导入工程
ps
1. 7/8两步由于需要联网下载依赖项与文档,会耗费相当长的时间
2. vim上下左右变abcd的解决方案见http://blog.csdn.net/yf210yf/article/details/6700308
在导入hadoop-common, hadoop-hdfs, hadoop-mapreduce项目之后,编译器报了数百个错,大概分类如下
1. access restriction
参考http://blog.csdn.net/ustcxjt/article/details/7438614
修改Eclipse的报警等级即可
然后剩下一百一十多个错误
2. avrorecord cannot be resolved to a type
需要下载Apache的avro-tools包,我使用的版本为1.7.7,下载地址为:http://mirrors.hust.edu.cn/apache/avro/avro-1.7.7/java/avro-tools-1.7.7.jar
将下载好的jar包放到hadoop的源码路径,对于我来说就是/home/cc/git/hadoop-common/
然后执行以下命令
cd /home/cc/git/hadoop-common/hadoop-common-project/hadoop-common/src/test/avro
java -jar /home/cc/git/hadoop-common/avro-tools-1.7.7.jar compile schema avroRecord.avsc ../java
刷新项目后还剩108个错误
3. echorequestproto cannot be resolved
首先需要安装好google的protobuf
然后执行以下命令
cd /home/cc/git/hadoop-common/hadoop-common-project/hadoop-common/src/test/proto
protoc --java_out=../java *.proto
刷新项目后还剩55个错误
4. yarn-xxx项目未导入
将hadoop-common中的hadoop-yarn-project项目全部导入Eclipse中
刷新项目,0 Error
在Eclipse中打开Hadoop工程的更多相关文章
- Hadoop3 在eclipse中访问hadoop并运行WordCount实例
前言: 毕业两年了,之前的工作一直没有接触过大数据的东西,对hadoop等比较陌生,所以最近开始学习了.对于我这样第一次学的人,过程还是充满了很多疑惑和不解的,不过我采取的策略是还是先让环 ...
- Eclipse中Maven WEB工程tomcat调试
最近没事了玩一下maven,使用maven管理工程中的依赖包非常的方便.建立maven web工程的时候开始不知道怎么用tomcat来调试,总是使用mave的tomcat插件发布了后来调试,觉得非常的 ...
- Eclipse如何打开Android工程(转载)
转自:http://www.cnblogs.com/kernel-style/p/3339102.html 一.Eclipse如何打开Android工程 1.你可以在file->new-> ...
- Eclipse如何打开Android工程
一.Eclipse如何打开Android工程 1.你可以在file->new->other->android object选择选项:create object from exists ...
- 在Eclipse 中打开当前文件夹
最近试过好多次,安装插件来 在Eclipse 中打开当前文件所在文件夹,结果总是不甚如意. 烦躁了,决定还是不要使用插件了!!! 1.打开Eclipse,点击菜单栏上的Run--External To ...
- selenium在Eclipse中打开fireFox浏览器是报报错connect to host 127.0.0.1 on port 7055
1.相信很多同学刚接触selenium时,在Eclipse中打开fireFox浏览器是报报错: org.openqa.selenium.firefox.NotConnectedException: U ...
- [Eclipse] eclipse中打开xml文件,使用ctrl+鼠标左键无法跳转至Java源文件【待解决】
eclipse中打开xml文件,使用ctrl+鼠标左键无法跳转至Java源文件: 1. 设置eclipse ctrl + 左键打开源文件代码,如下图,设置都正常 2. 在网上找了很多种办法,均失败,在 ...
- Eclipse中把Java工程修改成web工程
Eclipse中把Java工程修改成web工程 点击项目:右击:选择properties--输入project facets,将“Dynamic Web Module”打勾即可:
- Java Learning 002 Eclipse软件 打开一个工程 和 运行这个工程
Java Eclipse软件 打开一个工程 和 运行这个工程 我在网上下载了一个 Java 工程源代码.使用Eclipse软件打开这个工程,打开方式有些特别: Step 1 . 点击: File -& ...
随机推荐
- Yii2 AR模型搜索数据条数不对,AR模型默认去重
最近在做Yii2的项目时, 发现了一个yii2 自带的Ar模型会自动对搜索出来的字段去重. 默认去重字段: id, 其他字段暂没发现 1. 例如: public function fields { ...
- LeetCode(164)Maximum Gap
题目 Given an unsorted array, find the maximum difference between the successive elements in its sorte ...
- Docker初认识(一)
1)简介 1.1)什么是Docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的 ...
- nova虚拟机镜像从创建到文件系统resize完整流程
1. 虚拟机镜像的创建和resize流程 nova创建虚拟机涉及的组件比较多,调用比较复杂,这里只列出跟虚拟机镜像创建相关的流程,方便理清虚拟机状态变化的整个流程. nova-api nova.api ...
- emacs设置字体
* C-h f set-default-font set-default-font is an alias for `set-frame-font' in `frame.el'. (set-defau ...
- iframe内容刷新
经常有嵌套的iframe的内容无法及时刷新,需要手动刷新,这时候就需要获取iframe,然后调用对象的reload, document.getElementById(iframe的id).conten ...
- luogu3469 [POI2008]BLO-Blockade
#include <iostream> #include <cstring> #include <cstdio> using namespace std; type ...
- Objective-C中的一些特殊的数据类型
nil nil和C语言的NULL相同,在objc/objc.h中定义.nil表示一个Objctive-C对象,这个对象的指针指向空(没有东西就是空). Nil 首字母大写的Nil和nil有一点不一样 ...
- foy: 轻量级的基于 nodejs 的通用 build 工具
npm 的 scripts 下写的命令太多就很容易很乱,各种第三方轮子都只能解决一部分问题,总感觉不是很好用,想找个类似 make 的工具只能找到 jake, 可是 jake 的 API 太老,居然很 ...
- ogre3D学习基础11 -- 日志文件的使用与异常处理
用文件来记录 Ogre 系统初始化.运行.结束以及调试信息.使用日志便于我们调试程序.Ogre 日志系统由两个类组成:Log 类与 LogManager. 1.Log类 Log 类的一个对象对应于一个 ...