在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 -& ...
随机推荐
- Linux 命令、配置文件及操作
Linux 命令.配置文件及操作 命令 命令 参数 说明 A alias.unalias 命令别名 B C cat 查看文件内容 cd 切换目录 chown 修改拥有着 chgrp 修改所属组 chm ...
- 2-python基础
1.第一个程序 新建一个python文件,然后写上代码,运行即可 print("hello world") 2.变量 变量就是存东西,供后面来用的 变量名只能是 字母.数字或下划线 ...
- 分享几个能用的 editplus 注册码
转载自: https://www.cnblogs.com/shihaiming/p/6422441.html 原文:http://host.zzidc.com/wljc/1286.html EditP ...
- JSP 页面 jstl 时间戳 long型转时间
转载http://www.cnblogs.com/gmq-sh/p/5528989.html
- 26、android上跑apache的ftp服务
一.为啥 在android设备跑ftp服务,在现场方便查看日志,目前就是这么用的. 二.前提: 从apache的官网下载依赖包:http://mina.apache.org/ftpserver-pro ...
- Baum Welch估计HMM参数实例
Baum Welch估计HMM参数实例 下面的例子来自于<What is the expectation maximization algorithm?> 题面是:假设你有两枚硬币A与B, ...
- Leetcode 435.无重叠区间
无重叠区间 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触" ...
- Django模板导入和替换、以及对数据库的增加、查看
静态文件引入的3中方式:例如对html模板里面对css样式的引入 STATIC_URL = '/static666/'STATICFILES_DIR=[ os.path.join(BASE_DIR,' ...
- Tinkoff Internship Warmup Round 2018 and Codeforces Round #475 (Div. 2)
A. Splits time limit per test 1 second memory limit per test 256 megabytes input standard input outp ...
- [整理]linux中颜色的含义
蓝色(Blue): Directory 目录 绿色(Green): Executable or recognized data file 可执行文件,可执行的程序 天蓝(Sky Blue): Sy ...