转载地址: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://192.168.0.91:8020/input hdfs://192.168.0.91:8020/output

运行成功后在hdfs中就有运行成功后的数据。

五、打包放到yarn集群上运行,项目上右键,export->java->JAR file,只选择代码文件即可,上传到master上,然后运行提交jar包命令,:

command:yarn jar newwordcount.jar /input /output

六、错误汇总

1.需要访问hdfs等,拒绝当前window用户访问,denial,refuse等等拒绝问题,这个时候去调整下权限,因为hdfs下的文件目录都是属于某个用户的,而别的用户(window的用户)没有写的权限,需要将程序访问的目录改成可写的权限,$HADOOP_HOME/bin/hadoop fs -chmod -R 777 /storm

参考:Eclipse调用Hadoop2.2运行MR程序

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 转载的更多相关文章

  1. Eclipse环境搭建并且运行wordcount程序

    一.安装Hadoop插件 1. 所需环境  hadoop2.0伪分布式环境平台正常运行 所需压缩包:eclipse-jee-luna-SR2-linux-gtk-x86_64.tar.gz 在Linu ...

  2. Hadoop3 在eclipse中访问hadoop并运行WordCount实例

    前言:       毕业两年了,之前的工作一直没有接触过大数据的东西,对hadoop等比较陌生,所以最近开始学习了.对于我这样第一次学的人,过程还是充满了很多疑惑和不解的,不过我采取的策略是还是先让环 ...

  3. 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 ...

  4. Eclipse调用hadoop2运行MR程序(转)

    hadoop:hadoop2.2 ,windows myeclipse环境: Eclipse调用hadoop运行MR程序其实就是普通的java程序可以提交MR任务到集群执行而已.在Hadoop1中,只 ...

  5. 解决在windows的eclipse上面运行WordCount程序出现的一系列问题详解

    一.简介 要在Windows下的 Eclipse上调试Hadoop2代码,所以我们在windows下的Eclipse配置hadoop-eclipse-plugin- 2.6.0.jar插件,并在运行H ...

  6. hadoop2.6.4运行wordcount

    hadoop用户登录,启动服务: start-dfs.sh && start-yarn.sh 创建输入目录: hadoop df -mkdir /input 把测试文件导入/input ...

  7. eclipse运行WordCount

    1) 可以完全参考http://www.cnblogs.com/archimedes/p/4539751.html在eclipse下创建MapReduce工程,创建了MR工程,并完成WordCount ...

  8. CentOS上安装Hadoop2.7,添加数据节点,运行wordcount

    安装hadoop的步骤比较繁琐,但是并不难. 在CentOS上安装Hadoop2.7 1. 安装 CentOS,注:图形界面并无必要 2. 在CentOS里设置静态IP,手工编辑如下4个文件 /etc ...

  9. hadoop2.6.5运行wordcount实例

    运行wordcount实例 在/tmp目录下生成两个文本文件,上面随便写两个单词. cd /tmp/ mkdir file cd file/ echo "Hello world" ...

随机推荐

  1. 一段神奇的代码(python 2.7)网上抓图小Demo

    二话不说 先上代码: #coding=utf-8 import urllib import re import time global x x = 1 def getHtml(url): page = ...

  2. 转:Egret社区翻译的《TypeScript语言手册》

      <TyptScript语言手册>第1章-介绍<TypeScript语言手册>第2章-基本概念<TypeScript语言手册>第3章-类型<TypeScri ...

  3. JMeter学习-040-JMeter图形化 HTML 报表概要说明

    JMeter 3.0开始支持动态生成图形化 HTML dashboard报告,当前生成报告有一下两种方式: 1.脚本测试执行结束后,即生成HTML测试报告 2.通过之前生成的测试结果,生成HTML测试 ...

  4. 用Apache生产csr申请证书

    一. 安装Apache: 1.安装完成后将apache安装目录下 conf 文件夹中的"openssl.cnf"文件复制到bin文件夹中: 2.配置Apache支持ssl: 打开A ...

  5. 《storm实战-构建大数据实时计算读书笔记》

    自己的思考: 1.接收任务到任务的分发和协调   nimbus.supervisor.zookeeper 2.高容错性                            各个组件都是无状态的,状态 ...

  6. 自定义NSLog

    我们在调试程序的时候,往往需要输出一些日志信息,用到NSLog函数,当我们准备发布程序,需要注释掉NSLog代码,这个时候往往会定义一个宏,在调试的时候,会输出日志,在Release正式版本的时候,会 ...

  7. c++ DLL->DEF->LIB

    一.DLL->DEF https://support.microsoft.com/zh-cn/kb/177429 https://msdn.microsoft.com/zh-cn/library ...

  8. (转)如何将本地git仓库上传到GitHub中托管+实践心得

    Git——新手入门与上传项目到远程仓库GitHub(转) - Chen_s - 博客园http://www.cnblogs.com/Chenshuai7/p/5486278.html 注意的问题: 1 ...

  9. 如何防止sql注入

    注入法: 从理论上说,认证网页中会有型如: select * from admin where username='XXX' and password='YYY' 的语句,若在正式运行此句之前,如果没 ...

  10. 今天携程出事了:让我们来学习下http的响应码

    就在今天,2015年5月28日,中国最大的旅游机票预订网站--携程网粗大事了.据传携程网的数据库被人物理删除了,而容灾备份的数据又无法正常使用,服务器全面遭受瘫痪.每小时给携程带来的损失约100万美元 ...