基于Eclipse的Hadoop环境搭建指南

2019-03-28 14:03|来源: 网络

一、下载并配置Cygwin

    1、新建系统变量【CYGWIN】,变量值为【ntsc tty】

    2、编辑系统变量【Path】,加入【c:\cygwin\bin】

二、 安装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,保存即可解决问题。

相关问答

更多
  • 方法为: 在eclipse下建立一个project,此处以demo为例建立项目。 因为此处结合struts2我们首先对struts2做简单的配置,主要以下几个文件配置web.xml,struts.xml,同时导入相应的jar。 现在开始配置spring,问题在于导入哪些jar,结合我的经验,spring-3-2-0导入以下基本jar便可,若要使用其他功能要导入相应的jar。导入较多,如下图中,其中commons-logging-xx.jar是结合struts2是要导入的在struts2里面。 接下来配置ap ...
  • 1.关闭hdfs权限:hdfs-site.xml中 dfs.permissions false 2.检查eclipse插件是否设置了hadoop安装目录:将与linux下安装的hadoop相同版本的hadoop解压到windows下一个文件夹,然后指定hadoop插件目录,插件目录在preferences的map/reduce的hadoop installation location 3.在windows的hosts文件中添加hadoop所有节点的ip和主机名 4.关闭linux系统防火墙 5.把hadoo ...
  • 1、下载安装JDK,以及Eclipse 具体看此链接:http://blog.csdn.net/weixuehao/article/details/17715793 2、新建JAVA Project 3、去cloudera网站下载hadoop的CDH3u6版本。将起解压到win7的某个目录 4、选中OperateHDFS,右击,选择“property”,弹出右侧的窗口; 选择“Java Build Path” —— “Libraries” —— Add External Jars 5、到上面的画面后,下面就 ...
  • namenode节点配置 conf/core-site.xml: fs.default.name hdfs:// localhost:9000 hdfs测试环境配置 conf/hdfs-site.xml: 数据块不需要冗余 dfs.replication 1 job-tracker配置 conf/mapred-site.xml: mapred.job.tracker localhost:9001 免密码ssh登录配置 $ ssh localhost # 若不行, 则进行以下配置 $ ssh-keygen - ...
  • 你肯定可以把你的宿主机的ip固定下来 而且使用bridge 你的虚拟机也能设置成固定的ip
  • 把你编译后的hadoop源码丢到原来的hadoop集群环境中去 即覆盖hadoop安装目录下的原hadoop-core-xxx.jar 同样的所有节点都需要更新 然后重启集群
  • 单节点localhost. 否则就是各节点的hostname,另外要区分你用的是哪个版本的hadoop,最新版本不需要在配置文件里指定哪个是master,只需配置namenode的hostname即可
  • centOs6,redhat,Ubuntu都行,我个人感觉centOs比较好用,我自己也在用。
  • 没有内部命令 chomod 你取保是在Linux环境下开发的吗
  • map的JVM内存溢出,这个值默认是200M,有些小,你需要设置的大点,设置mapred.child.java.opts为512M试试