基于Eclipse的Hadoop环境搭建指南

二、 安装java

配置 JAVA_HOME;

三、配置eclipse

1、把Hadoop安装包下的 contrib/ 目录下的插件 hadoop-*-eclipse-plugin.jar  放到eclipse目录的 plugins 目录下;

2、其他配置过程参考网络其他文档;

3、进行运行时配置,选择Run As—>Open Debug Dialog选项,在Arguments选项卡中设置:【D:\workspace\hadoop-test\in D:\workspace\hadoop-test\out】 ,在其中填写两个目录,分别为数据输入目录和输出目录,中间用空格分隔;

四、可能遇到的问题

 1、如果遇到这个错误:org.apache.hadoop.security.AccessControlException: Permission denied: user=administrator, access=EXECUTE, inode="job_201111031322_0003":heipark:supergroup:rwx-

问题原因:本地用户administrator(本机windows用户)想要远程操作hadoop系统,没有权限引起的。

解决办法:

a、如果是测试环境,可以取消hadoop hdfs的用户权限检查。打开conf/hdfs-site.xml,找到dfs.permissions属性修改为false(默认为true)OK了。

b、修改hadoop location参数,在advanced parameter选项卡中,找到hadoop.job.ugi项,将此项改为启动hadoop的用户名即可。

注意第一次设置的时候可能没有hadoop.job.ugi参数,报错后在去看就有了。

 2、运行例子时出现:IOException: Cannot run program "chmod": CreateProcess error=2,

问题原因:没有安装cygwin 或 没有配置环境变量;
       解决办法:安装并配置环境变量 bin到 path下 重启 eclipse   问题解决;

3、如果出现下面问题

11/11/03 12:21:31 WARN mapred.LocalJobRunner: job_local_0001
             java.lang.OutOfMemoryError: Java heap space
              at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.<init>(MapTask.java:781)
              at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:350)
              at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307)
              at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:177)
             11/11/03 12:21:31 INFO mapred.JobClient:  map 0% reduce 0%
             11/11/03 12:21:31 INFO mapred.JobClient: Job complete: job_local_0001
             11/11/03 12:21:31 INFO mapred.JobClient: Counters: 0
             Exception in thread "main" java.io.IOException: Job failed!
              at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1252)
              at mapred.WordCount.main(WordCount.java:110)

问题原因:客户端程序运行时java虚拟机内存分配不够

解决办法:修改run configuration,选择Arguments选项卡,在VM arguments栏中加入-Xmx1024m,保存即可解决问题。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pfspj.html