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一样的方式吧.把整个学习的过程中截图在配文字的 ...
随机推荐
- CentOS安装git及使用Gitolite来管理版本库
首先吐槽一下网上的各种教程,大部分都扯蛋,估计都是些所谓的"编辑"在网上瞎抄来的-- 以下内容都是基于CentOS的服务器端,Mac OS X的客户端. 如果是使用的Windows ...
- CodeForces 450B Jzzhu and Sequences (矩阵优化)
CodeForces 450B Jzzhu and Sequences (矩阵优化) Description Jzzhu has invented a kind of sequences, they ...
- linux 系统文件类型、系统安装时间、系统启动时间、系统运行时间、设置及显示时间、系统时间和硬件时间
系统文件类型: 1) $mout 2) df -l:仅列出本地文件系统:-h (--human-readable):-T:文件系统类型 $df -lhf 3) file -s (--special-f ...
- SQL Server - 开窗函数
-- 开窗函数:在结果集的基础上进一步处理(聚合操作) SELECT * FROM dbo.Student S# Sname Sage Ssex ---------- ---------- ----- ...
- python的面向对象-面向对象设计
1.面向对象设计 def school(name,addr,type):#定义一个大函数的作用就是不能让狗调用学校的方法 #学校动作 def kaoshi(school): print("[ ...
- OpenStack 网络服务 Neutron 私有网络构建(十九)
本章内容基于之前提供者网络构建的基础上进行改动,之前文章参考如下: Openstack 网络服务 Neutron介绍和控制节点部署 (九) Openstack 网络服务 Neutron计算节点部署(十 ...
- centos6 pyenv和virtualenv搭建python虚拟环境
安装pyenv 基础环境软件包安装 yum -y install gcc gcc-c++ make git patch openssl-devel zlib-devel readline-devel ...
- Content-Type:几种常用数据编码格式
Content-Type: 用于定义用户的浏览器或相关设备如何显示将要加载的数据,或者如何处理将要加载的数据. 内容类型,一般指网页中存在的Content-Type,Content-Type属性指定请 ...
- 阿里云ECS使用cloudfs4oss挂载OSS
cloudfs4oss可以帮我们将OSS直接挂载到ECS上,就像一个目录一样方便访问.使用方法: 1.安装配置环境: yum install libcurl libcurl-devel openssl ...
- Dubbo学习笔记11:使用Dubbo中需要注意的一些事情
指定方法异步调用 前面我们讲解了通过设置ReferenceConfig的setAsync()方法来让整个接口里的所有方法变为异步调用,那么如何指定某些方法为异步调用呢?下面讲解下如何正确地设置默写方法 ...