windows + hadoop + eclipse 过程记录
昨天在本机上搭建了伪分布式的hadoop,今天决定在eclipse中搭建hadoop的环境,毕竟磨刀不误砍柴工

安装的hadoop是2.7.5版本,要想使用eclipse写MapReduce需要一个 hadoop-eclipse-plugin-2.7.5.jar
在网上找了一波发现并没有可以下载下来直接使用的包,于是就到 https://github.com/winghc/hadoop2x-eclipse-plugin 下载源码,自己来编译
在编译此包前还需要 ant 可以在 http://ant.apache.org/ 下载
下载好两个文件后解压

ant:配置环境变量

Path中添加路径

然后就是浩大的改文件工程
hadoop2x-eclipse-plugin-master\src\contrib\eclipse-plugin\build.xml



hadoop2x-eclipse-plugin-master\src\ivy\libraries.properties



hadoop2x-eclipse-plugin-master\ivy\libraries.properties
修改上述内容并修改

上面需要修改的内容可以到 hadoop-2.7.5\share\hadoop\common\lib 中查看

接下来进行编译,将在DOS中将文件夹切换到 hadoop2x-eclipse-plugin-master\src\contrib\eclipse-plugin
执行
ant jar -Dversion=2.7.5 -Declipse.home=C:\Users\lichaoxing\eclipse\java-oxygen\eclipse -Dhadoop.home=D:\hadoop-2.7.5
注: C:\Users\lichaoxing\eclipse\java-oxygen\eclipse 是eclipse的路径,D:\hadoop-2.7.5 是hadoop的路径
然后回车后发现报了N多错误
其中一部分截图

问题在于指定的eclipse路径下的找不到这些包,原因是我在安装eclipse的时候下载的是.exe文件,在 eclipse\java-oxygen\eclipse\plugins 下没有这些包

于是我果断去下载了源码文件,果然在 eclipse\plugins 含有好多包

我将里面的包全部复制到 eclipse\java-oxygen\eclipse\plugins 中,再此编译,成功了


后来我发现原来安装的eclipse文件夹下其实是有那些依赖包的,只不过不在上述文件夹下,而是在 eclipse\java-oxygen\eclipse\dropins\plugins 中
如果更改下build.xml文件的内容,使路径为这个应该也可以解决问题,这里由于急于搭建好开发环境没有进行实验

由于强迫症,我把之前的eclipse删掉了,使用了新下载的源码包(eclipse4.8)

将 hadoop-eclipse-plugin-2.7.5.jar 拷贝到 eclipse 的 plugins 文件夹下
启动eclipse,终于见到了久违的 Hadoop 了,配置一下Hadoop的安装路径

在面板的下面 Map/Reduce Locations 中右键新建一个连接


点击右下角finish后成功创建连接,但是点击连接名前面的尖号就会报 空指针异常

找了大量资料,没能解决此问题,在一个博客里看到如果配置正确,可以忽略此问题 (https://blog.csdn.net/psp0001060/article/details/54728436)
于是尝试测试一下,准备好用于wordcount的file1,里面写了一点内容,上传到hdfs的input文件夹内,并指定输出在output/wordcount/

在代码区右键run as 选择hadoop

运行后报log4j的相关错误

解决办法:
- 在mian中添加一行代码
BasicConfigurator.configure();
再次运行,成功执行

- 工程文件夹下新建一个Source Folder,命名为source

右键source新建,Other,选择General下的File并命名为 log4j.properties


在文件中添加
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
运行代码,成功解决问题
windows + hadoop + eclipse 过程记录的更多相关文章
- hadoop 安装过程记录
1)首先配置好了四个linux虚拟机 root pwd:z****l*3 关闭了防火墙 开通了 sshd服务 开通了 ftp服务 配置了 jdk 1.8 配置好了互信 (之前配置的过程忘了!--检查了 ...
- windows下eclipse远程连接hadoop集群开发mapreduce
转载请注明出处,谢谢 2017-10-22 17:14:09 之前都是用python开发maprduce程序的,今天试了在windows下通过eclipse java开发,在开发前先搭建开发环境.在 ...
- 升级Windows 10 正式版过程记录与经验
升级Windows 10 正式版过程记录与经验 [多图预警]共50张,约4.6MB 系统概要: 预装Windows 8.1中文版 64位 C盘Users 文件夹已经挪动到D盘,并在原处建立了符号链接. ...
- windows中eclipse调试hadoop
下载eclipse:https://www.eclipse.org/downloads/eclipse-packages 下载hadoop eclipse插件:https://github.com/w ...
- 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...
- Ubuntu14.04 Tomcat 安装过程记录
Ubuntu14.04 Tomcat 安装过程记录 检查java的版本 zhousp@ubuntu:~$ sudo java -version [sudo] password for zhousp: ...
- MapReduce编程模型详解(基于Windows平台Eclipse)
本文基于Windows平台Eclipse,以使用MapReduce编程模型统计文本文件中相同单词的个数来详述了整个编程流程及需要注意的地方.不当之处还请留言指出. 前期准备 hadoop集群的搭建 编 ...
- hadoop安装过程中出现的错误
此次来记录一下我在安装Hadoop安装过程中出现的错误,安装过程参照慕课网林子雨教程进行安装,在尝试过程中出现的错误如下: 1.在安装Ubuntu时,新建虚拟电脑时,并没有在版本的输入框中有Ubunt ...
- 菜鸟如何使用hanlp做分词的过程记录
菜鸟如何使用hanlp做分词的过程记录 最近在学习hanlp的内容,准备在节后看看有没有时间整理一波hanlp分享下,应该还是会像之前分享DKHadoop一样的方式吧.把整个学习的过程中截图在配文字的 ...
随机推荐
- Python中的requests模块注意事项
主要是说requests.post()方法, 参数: url : 这就不解释了 data: 如果传入的是字典类型,则字典在发出请求时会自动编码为表单形式,表单形式会将字典中的键和值进行一些操作: ...
- python的类的 静态属性 类方法 静态方法
一.静态属性 静态属性说的就是数据属性 1.定义一个房间的类,求下这个房间的面积 class Room: def __init__(self,name,ower,width,length,heigh) ...
- Carmichael Numbers (Uva No.10006) -- 快速幂运算_埃氏筛法_打表
#include <cstdio> #include <iostream> #include <algorithm> #include <cmath> ...
- ASP.NET MVC学习(四)之视图View
1.视图 2.强类型视图 3.@RenderSection("HeaderSection", false) @RenderBody() 4.子行为 5.ASP.NET MV ...
- jQuery下实现等待指定元素加载完毕
先声明下这个方法的使用场合,以免误导大家..比如在博客园,我们没法修改他的源代码,那么只能想办法监视元素的出现了.所以下面方法是在修改不了源码的情况下使用,而非写自己的项目.. 今天在改博客几个样式的 ...
- PHP中GET和POST区别
1. get是从服务器上获取数据,post是向服务器传送数据.2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过H ...
- Web性能优化系列(1):Web性能优化分析
本文由 伯乐在线 - 鸭梨山大 翻译,sunbiaobiao 校稿.未经许可,禁止转载!英文出处:gokulkrishh.github.io.欢迎加入翻译小组. 如果你的网站在1000ms内加载完成, ...
- Servlet、ServletConfig、ServletContext深入学习
1.Servlet学习 1.Servlet生命周期 Servlet 加载—>实例化—>服务—>销毁. init(servletConfig):(经过自己的测试发现会先调用这个而不是i ...
- nested exception is com.svorx.core.dao.PersistenceException
在quartz定时执行任务的时候,hibernate报错,在只读事务中进行了update语句: [ERROR] 2018/08/03 10:35:00,827 org.quartz.core.JobR ...
- 【干货】Windows内存获取和分析---查找恶意进程,端口
来源:Unit 5: Windows Acquisition 5.1 Windows Acquisition Windows Memory Acquisition and Analysis 调查人员检 ...