转载地址: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. MULTITHREADING AND CHIP MULTIPROCESSORS

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION The most important me ...

  2. 几何服务,cut功能测试

    关于几何服务 几何服务用于辅助应用程序执行各种几何计算,如缓冲区.简化.面积和长度计算以及投影.在 ArcGIS Server 管理器中启动几何服务之后,您才能够在应用程序开发过程中使用该服务. 问题 ...

  3. jquety

    .html() //能够获取元素里的内容包括标签: .text()  //只能获取到元素里的内容 .val()  //可以得到元素的value值 $(this).index()  //得到点时间发生的 ...

  4. 关于 windows 下 node_modules\node-sass\vendor 的报错解决方法

    项目git clone下来之后,运行npminstall, npm start报错代码如下: ERROR in ENOENT: no such file or directory, scandir ' ...

  5. xcode8升级后问题总汇

    一.注释快捷键无法使用 command + / 快捷键无法使用,在终端执行以下命令,然后重启Xcode即可.   1 sudo /usr/libexec/xpccachectl 二.注释快捷键 Xco ...

  6. 提取本地环境中部署RDLC的DLL

    要使用reportviewer来呈现报表,需要有三个dll Microsoft.ReportViewer.WinForms.DLL Microsoft.ReportViewer.WebForms.DL ...

  7. zTree的内核

    zTree的内核:   *  结构       (function($){           //常量部分           //申明常量是因为这些数据是不能改变的,如果成了对象的属性,很容易就改 ...

  8. WCF Binding

    <Programming WCF Services>有一幅图也能说明各自的特征: 下面的图给出了我们选择Binding的方式

  9. 【leetcode】两数之和

    https://leetcode.com/problems/two-sum/ Example: Given nums = [2, 7, 11, 15], target = 9, Because num ...

  10. css3图片翻转

    <!DOCTYPE> <html lang="en"> <head> <meta http-equiv="Content-Typ ...