企业空间 采购商城 存储论坛
首页 > Hadoop > 正文

windows下eclipse调试hadoop详解

2014-05-22 00:00来源:中国存储网
导读:1)下载Eclipsehttp://www.eclipse.org/downloads/Eclipse Standard 4.3.2 64位2) 下载hadoop版本对应的eclipse插件我的hadoop是1.0.4,因此下载hadoop-e

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即表示安装成功,见下图:

windows下eclipse调试hadoop详解

5)设置hadoop安装路径

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

windows下eclipse调试hadoop详解

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

5)配置hadoop

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

windows下eclipse调试hadoop详解

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

windows下eclipse调试hadoop详解

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

windows下eclipse调试hadoop详解

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

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

windows下eclipse调试hadoop详解

至此,环境基本搭建好了。下面就通过经典的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:zhumingcause: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://blog.csdn.net/m_star_jy_sy/article/details/26476907

继续阅读
关键词 :
Hadoop教程
中国存储网声明:此文观点不代表本站立场,如有版权疑问请联系我们。
相关阅读
产品推荐
头条阅读
栏目热点

Copyright @ 2006-2019 ChinaStor.COM 版权所有 京ICP备14047533号

中国存储网

存储第一站,存储门户,存储在线交流平台