你好,游客 登录
背景:
阅读新闻

windows下eclipse调试hadoop详解

[日期:2014-05-22] 来源:CSDN  作者:m_star_jy_sy [字体: ]

  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: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





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款