eclipse连hadoop2.x运行wordcount 转载
转载地址:http://my.oschina.net/cjun/blog/475576
一、新建java工程,并且导入hadoop相关jar包
此处可以直接创建mapreduce项目就可以,不用下面折磨麻烦:
4.1.2 新建java工程(需要手动导入hadoop相应jar包),具体如下图所示:

4.1.2.1 新建java工程完成后,下面添加hadoop相应jar包,hadoop2.3.0相应jar包在/hadoop-2.3.0/share/hadoop目录中。

4.1.2.2 进入Libraries,点击Add Library添加hadoop相应jar包。


4.1.2.3 新建hadoop相应library成功后添加hadoop相应jar包到该library下面即可。

4.1.2.4 需要添加的hadoop相应jar包有:
/hadoop-2.3.0/share/hadoop/common下所有jar包,及里面的lib目录下所有jar包
/hadoop-2.3.0/share/hadoop/hdfs下所有jar包,不包括里面lib下的jar包
/hadoop-2.3.0/share/hadoop/mapreduce下所有jar包,不包括里面lib下的jar包
/hadoop-2.3.0/share/hadoop/yarn下所有jar包,不包括里面lib下的jar包
参考:eclipse中hadoop2.3.0环境部署及在eclipse中直接提交mapreduce任务
二、新建WordCount类,找到官方WordCount类的源码,在
hadoop-2.6.0\share\hadoop\mapreduce\sources\hadoop-mapreduce-examples-2.6.0-sources.jar中,找到wordcount类,把代码复制出来即可。目录hadoop-2.6.0\share\hadoop\mapreduce\sources下面都是源码。
三、添加hadoop.dll和winutils.exe等并且添加到环境变量。
1.下载hadoop.dll和winutils.exe等,添加到hadoop的bin目录下,版本最好要对应(hadoop2.6.0不能使用hadoop2.2.0版本的dll文件。hadoop2.3.0可以使用hadoop2.6.0的dll文件,但是使用hadoop2.2.0的dll文件会出问题),dll文件在hadoop相关软件里面可以找到。否则会报winutls无法找到等等错误。
注意:在eclipse运行storm-hdfs时也会报
ERROR [main] util.Shell (Shell.java:getWinUtilsPath(303)) - Failed to locate the winutils binary in the hadoop binary path
但这个错误不用管,因为storm-hdfs只是使用一下hdfs的api,并不需要运行mapreduce程序。
2.将HADOOP_HOME=D:\programs\hadoop-2.3.0-cdh5.1.0添加到环境变量,并且修改path,添加如下内容:%HADOOP_HOME%\bin。改完后让环境变量生效同时重启eclipse
四、右键运行,第一次需要配置运行参数,如下:
运行成功后在hdfs中就有运行成功后的数据。
五、打包放到yarn集群上运行,项目上右键,export->java->JAR file,只选择代码文件即可,上传到master上,然后运行提交jar包命令,:
六、错误汇总
1.需要访问hdfs等,拒绝当前window用户访问,denial,refuse等等拒绝问题,这个时候去调整下权限,因为hdfs下的文件目录都是属于某个用户的,而别的用户(window的用户)没有写的权限,需要将程序访问的目录改成可写的权限,$HADOOP_HOME/bin/hadoop fs -chmod -R 777 /storm
2. Exception in thread "main" java.lang.NullPointerException atjava.lang.ProcessBuilder.start(Unknown Source)
参考:解决Exception: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z 等一系列问题的问题2
但是不完全能解决问题,1.需要使用hadoop2.6的hadoop.dll和winutils,所以需要到网上下hadoop2.6的hadoop.dll,而不是直接下hadoop2.2的hadoop.dll,否则会报下面这个错误。
UnsatisfiedLinkError: org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray
2.修改path的环境变量之后,需要使环境变量立即生效:Windows不重启就使环境变量修改生效。
eclipse连hadoop2.x运行wordcount 转载的更多相关文章
- Eclipse环境搭建并且运行wordcount程序
一.安装Hadoop插件 1. 所需环境 hadoop2.0伪分布式环境平台正常运行 所需压缩包:eclipse-jee-luna-SR2-linux-gtk-x86_64.tar.gz 在Linu ...
- Hadoop3 在eclipse中访问hadoop并运行WordCount实例
前言: 毕业两年了,之前的工作一直没有接触过大数据的东西,对hadoop等比较陌生,所以最近开始学习了.对于我这样第一次学的人,过程还是充满了很多疑惑和不解的,不过我采取的策略是还是先让环 ...
- win10+eclipse+hadoop2.7.2+maven+local模式直接通过Run as Java Application运行wordcount
一.准备工作 (1)Hadoop2.7.2 在linux部署完毕,成功启动dfs和yarn,通过jps查看,进程都存在 (2)安装maven 二.最终效果 在windows系统中,直接通过Run as ...
- Eclipse调用hadoop2运行MR程序(转)
hadoop:hadoop2.2 ,windows myeclipse环境: Eclipse调用hadoop运行MR程序其实就是普通的java程序可以提交MR任务到集群执行而已.在Hadoop1中,只 ...
- 解决在windows的eclipse上面运行WordCount程序出现的一系列问题详解
一.简介 要在Windows下的 Eclipse上调试Hadoop2代码,所以我们在windows下的Eclipse配置hadoop-eclipse-plugin- 2.6.0.jar插件,并在运行H ...
- hadoop2.6.4运行wordcount
hadoop用户登录,启动服务: start-dfs.sh && start-yarn.sh 创建输入目录: hadoop df -mkdir /input 把测试文件导入/input ...
- eclipse运行WordCount
1) 可以完全参考http://www.cnblogs.com/archimedes/p/4539751.html在eclipse下创建MapReduce工程,创建了MR工程,并完成WordCount ...
- CentOS上安装Hadoop2.7,添加数据节点,运行wordcount
安装hadoop的步骤比较繁琐,但是并不难. 在CentOS上安装Hadoop2.7 1. 安装 CentOS,注:图形界面并无必要 2. 在CentOS里设置静态IP,手工编辑如下4个文件 /etc ...
- hadoop2.6.5运行wordcount实例
运行wordcount实例 在/tmp目录下生成两个文本文件,上面随便写两个单词. cd /tmp/ mkdir file cd file/ echo "Hello world" ...
随机推荐
- js中列表控件排序箭头,在wke中不支持的解决办法
列表中箭头,实际使用的在线css样式,wke不支持排序箭头(实际是字体)的在线css样式,可以客户端安装对应的字体,之后显示就正常了.
- mysql 查询成本
SELECT SQL_NO_CACHE spu from dp_distributor_products_1_online where dpId > 15 AND dpId <= 60; ...
- Mysql 数据库之修改标的结构
比如我们新建一user表 create table user( id int unsigned auto_increment primary key, name varchar(60) not nul ...
- MAC emacs下安装php-mode
在某一个个页面(抱歉不记得了), 比较了三个配置,php-mode, php-mode-improved, xnhtml. 作者在比较后推荐xnhtml,但在xnthml官网下载链接一直显示403,真 ...
- Python之路【第十八章】:Web框架
Web框架本质 1.众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端 #!/usr/bin/env python # -*- codin ...
- gulp任务
项目使用的gulp自动化任务 //定义输出文件夹名称 var distFolderH5 = "distH5"; var distFolderMofang = "distM ...
- Silverlight类百度文库在线文档阅读器
百度文库阅读器是基于Flash的,用Silverlight其实也可以做. 我实现的在线阅读器可以应用于内网文档发布,在线阅览审批等.没有过多的堆积功能,专注于核心功能.主要有以下特性: 1. 基于XP ...
- RabbitMQ系列之Centos 7安装RabbitMQ 3.6.1
1.安装EPEL-7: rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm 2.安 ...
- c++中vector的用法详解
c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...
- aischool 倒计时VIEW封装
@implementation TWPaperTimeCountLabel { NSInteger miaoshu; dispatch_source_t _timer; } -(id)initWith ...