windows下eclipse调试hadoop详解

1)下载Eclipse

http://www.eclipse.org/downloads/

Eclipse Standard 4.3.2 64位

 

2) 下载Hadoop版本对应的eclipse插件

我的hadoop是1.0.4,因此下载hadoop-eclipse-plugin-1.0.4.jar

下载地址:http://download.csdn.NET/detail/m_star_jy_sy/7376169

 

3)安装hadoop插件

将hadoop-eclipse-plugin-1.0.4.jar拷贝到eclipse的plugins目录下即可

 

4)重启eclipse,检查hadoop插件是否加载成功

单击菜单:Window/Open Perspective/Others…弹出Open Perspective对话框,出现Map/Reduce即表示安装成功,见下图:

 

5)设置hadoop安装路径

选择菜单:Window/Preferences,弹出Preferences对话框,如下图所示:

 

选择Hadoop Map/Reduce ,设置Hadoop Install directory(Hadoop安装路径)。Hadoop的安装路径就是hadoop安装包hadoop-1.0.4.tar.gz解压缩后的路径

 

5)配置hadoop

选择菜单:Window/Show View/Other…,弹出Show View对话框。

 

在对话框中选择MapReduce Tools下的Map/Reduce Locations,打开Map/Reduce Locations视图。如下图所示:

 

在Map/Reduce Locations视图中,右键选择New Hadoop Location…菜单,弹出New Hadoop Location对话框,如下图所示:


在弹出的对话框中你需要配置Location name,如Hadoop,还有Map/Reduce Master和DFS Master。这里面的Host、Port分别为你在mapred-site.xml、core-site.xml中配置的地址及端口。UserName设置为运行hadoop的账号名,例如:hadoop。

 

配置完后退出。点击DFS Locations-->Hadoop如果能显示文件夹(2)说明配置正确,如果显示"拒绝连接",请检查你的配置。


至此,环境基本搭建好了。下面就通过经典的WordCount例子来试验下了。

 

6)准备测试数据

在本地新建word.txt,内容如下:

Java c++ Python c
java c++ JavaScript 
helloworld hadoop
mapreduce Java hadoop Hbase

通过copyFromLocal命令把本地的word.txt复制到HDFS上,命令如下:

$:hadoop fs -copyFromLocal /usr/hadoop/word.txt word.txt

本例假设word.txt存放在/usr/hadoop/目录下

 

7)新建hadoop项目

File-->New-->Other-->Map/Reduce Project

项目名可以随便取,如WordCount。 复制 hadoop安装目录src/example/org/apache/hadoop/example/WordCount.java到刚才新建的项目下面。

 

8)运行程序

右键单击WordCount项目,选择Run As-->RunConfigurations…,弹出Run Configurations对话框。如下图所示:

右键单击左边的Java Application,选择New菜单新建一个配置项,取名为Wordcount。在Arguments选项卡中设置Program arguments:为:

hdfs://192.168.0.19:9000/user/hadoop/word.txt

hdfs://192.168.0.19:9000/user/hadoop/out

第一行为输入文件,第二行为输出结果文件。

如果运行时报java.lang.OutOfMemoryError: Java heap space 配置VM arguments参数:

-Xms512m -Xmx1024m -XX:MaxPermSize=256m

设置完后,单击Run。

 

9)错误1

现象:

ERROR security.UserGroupInformation: PriviledgedActionExceptionas:zhuming cause:java.io.IOException: Failed to set permissions of path:\tmp\hadoop-zhuming\mapred\staging\zhuming1380233490\.staging to 0700

Exceptionin thread "main" java.io.IOException: Failed toset permissions of path:\tmp\hadoop-zhuming\mapred\staging\zhuming1380233490\.staging to 0700

 

解决方案:

下载hadoop-core-1.0.4-modified.jar替换到hadoop安装目录下的hadoop-core-1.0.4.jar文件

下载地址:http://download.csdn.net/detail/m_star_jy_sy/7376283

 

10)错误2

现象:

org.apache.hadoop.security.AccessControlException:org.apache.hadoop.security.AccessControlException: Permission denied:user=zhuming, access=WRITE,inode="hadoop":hadoop:supergroup:rwxr-xr-x

atsun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

 

原因:

因为Eclipse使用hadoop插件提交作业时,会默认以zhuming身份(windows当前用户)去将作业写入hdfs文件系统中,对应的也就是 HDFS上的/user/xxx , 我的为/user/hadoop,由于zhuming用户对user/hadoop目录并没有写入权限,所以导致异常的发生。

 

解决方法:

放开/user/hadoop目录的权限,命令如下:$ hadoop fs -chmod 777 /user/hadoop

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/423863.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF中得到一个控件相对其他控件的坐标

加入想得到按钮btnTest左上角相对于主窗体winTest的坐标,可以用如下方法:btnTest.TranslatePoint(new Point(0, 0), winTest) 这个方法返回一个Point类型的值。 转载于:https://www.cnblogs.com/pdfw/archive/2008/04/08/1141836.html

用python + hadoop streaming 编写分布式程序(一) -- 原理介绍,样例程序与本地调试

原文地址:http://www.cnblogs.com/joyeecheung/p/3757915.html 相关随笔: 点击打开链接 Hadoop-1.0.4集群搭建笔记用python hadoop streaming 编写分布式程序(二) -- 在集群上运行与监控用python hadoop streaming 编写分布式程…

mybatis学习(13): 连接数据库之前的准备(测试连接)

工具eclipse 先导入我们的jar包 链接:https://pan.baidu.com/s/1-dgB_x91YY4C9KnCbqIazg 提取码:ptp2 test 类 package test;import java.beans.Statement; import java.sql.*;public class Test {private final static String URL "jdbc:sqls…

第一百五十二期:白话Entity Framework Core数据验证

数据验证是每个项目必须存在的,可以防止不符合系统规范的数据进入系统进而导致系统不稳定甚至崩溃。我们可以自己编写代码进行验证,但是这样一方面代码量较大,另一方面有可能验证代码覆盖不完全。但是在 Entity Framework Core (以…

小程序云开发实战 - 口袋工具之“历史上的今天”

前言 本项目是一个基于云开发的小程序。 本文选取项目中的一个页面 -- 历史上的今天 来做一个云开发的分享,会涉及云函数和云数据库。 由于是实战项目,关于小程序的基础知识请移步官方文档,本文不再赘述。 项目预览 微信搜索: 口袋…

第一百五十三期: 云迁移可能失败的5种方式以及成功的5种方式

通过将应用程序迁移到云平台中,企业可以提高安全性、数据访问、可扩展性和IT灵活性。将业务迁移到云平台还可以为企业节省成本。以下是导致企业云迁移失败的五个主要原因以及其解决方法。 作者:Andy Patrizio 对于大多数企业而言,将业务迁移…

每天一个linux命令(30): chown命令

原文地址:http://www.cnblogs.com/peida/archive/2012/12/04/2800684.html chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支…

mybatis学习(14):log4j:ERROR Category option 1 not a decimal integer.

log4j:ERROR Category option " 1 " not a decimal integer. java.lang.NumberFormatException: For input string: " 1 " 修改log4j.xml配置文件 ### \u914D\u7F6E\u6839 ### log4j.rootLogger debug,console ,fileAppender,dailyRollingFile,ROLLING_…

在PEA上海做演讲主题:大型、高负载网站架构和应用初探

主题:大型、高负载网站架构和应用初探时间:30-45分钟 开题:163,sina,sohu等网站他们有很多应用程序都是PHP写的,为什么他们究竟是如何能做出同时跑几千人甚至上万同时在线应用程序呢? 挑选性能更好web服务器 单台 Apache web se…

数论考试题(b) 求约数的约数的最大个数

题意:求1~n范围里约数的约数的个数加起来最多的是哪个数 及其总数 题解: /* 对一个数质因数分解 首先要知道两个公式:约数的个数的公式,和约数的约数的个数的公式(详见题解) 然后发现:质因数分解后 小的次冥尽量大 会…

Anaconda 安装

参考网址:http://www.jianshu.com/p/169403f7e40c http://blog.csdn.net/qq_26898461/article/details/51488326 Anaconda基础 什么是Anaconda Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管…

mybatis学习(15):mybatis连接mysql数据库

目录结构 com.geyao.mybatis.mapper BlogMapper类 package com.geyao.mybatis.mapper;import com.geyao.mybatis.pojo.Blog;public interface BlogMapper {Blog selectBlog(String id); }BlogMapper.xml <?xml version"1.0" encoding"UTF-8" ?>…

nodejs对mongodb数据库的增删改查操作(转载)

首先要确保mongodb的正确安装&#xff0c;安装参照&#xff1a;http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian-or-ubuntu-linux 另外可以参考我的另一篇博文 http://www.cnblogs.com/sexintercourse/p/5774310.html 指导mongo和nodejs的开发 然后下载nod…

mybatis学习(16):不使用接口的方式

目录结构 com.geyao.mybatis.mapper BlogMapper类 package com.geyao.mybatis.mapper;import com.geyao.mybatis.pojo.Blog;public interface BlogMapper {Blog selectBlog(Inteage id); }BlogMapper.xml <?xml version"1.0" encoding"UTF-8" ?>…

AS3图像抖动效果源码。

DemoSourceWebsite转载于:https://www.cnblogs.com/xxcainiao/archive/2008/05/07/1186805.html

mybatis学习(17):列名与属性名不一致的情况(使用别名)

目录结构 com.geyao.mybatis.mapper BlogMapper类 package com.geyao.mybatis.mapper;import com.geyao.mybatis.pojo.Blog;public interface BlogMapper {Blog selectBlog(Inteage id); }BlogMapper.xml <?xml version"1.0" encoding"UTF-8" ?>…

mybatis学习(18):列名与属性名不一致的情况(使用ResultMap)

目录结构 com.geyao.mybatis.mapper BlogMapper类 package com.geyao.mybatis.mapper;import com.geyao.mybatis.pojo.Blog;public interface BlogMapper {Blog selectBlog(Integer id);Blog selectBlog2(Integer id); }BlogMapper.xml <?xml version"1.0" en…

MVCToolKit中HtmlHelper.ActionLink的BUG?

分页时<%if (ViewData.Accounts.IsPreviousPage) { %><%Html.ActionLink<SpeakOutFreely.Controllers.ManageController>(c >c.List(ViewData.Accounts.PageIndex -1), "Previous")%><%} %><%if (ViewData.Accounts.IsNextPage) { %&g…

PyChram简单使用教程

一、PyChram下载 官网&#xff1a;http://www.jetbrains.com/pycharm Windows:http://www.jetbrains.com/pycharm/download/#sectionwindows Linux:http://www.jetbrains.com/pycharm/download/#sectionlinux Mac:http://www.jetbrains.com/pycharm/download/# 二、PyChram简单…

mybatis学习(19):模糊查询#

目录结构 com.geyao.mybatis.mapper BlogMapper类 package com.geyao.mybatis.mapper;import java.util.List;import com.geyao.mybatis.pojo.Blog;public interface BlogMapper {Blog selectBlog(Integer id);Blog selectBlog2(Integer id);List<Blog> selectBlogByTi…