windows下使用Eclipse编译运行MapReduce程序 Hadoop2.6.0/Ubuntu(二)

在上篇文章中eclipse已经能访问HDFS目录,但并不能进行Mapreduce编程,在这里小编将常见错误和处理办法进行总结,希望对大家有所帮助

错误1ERROR [main] util.Shell (Shell.java:getWinUtilsPath(303)) - Failed to locate the winutils binary in the hadoop binary path

java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

解决办法:

eg:我解压的目录是D:\hadoop-2.6.0

在系统的环境变量界面添加HADOOP_HOME,并在系统变量PATH中添加如图:

然后eclipse中选择Windows->Prefenences设置如图:

错误2:Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

错误3:Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

上面两个问题是缺少组件,解决办法:

下载hadoop-common-2.2.0-bin-master

将里边bin 目录替换 本地hadoop里边的bin目录

错误:4:

15/08/03 10:15:43 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

15/08/03 10:15:43 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032

15/08/03 10:15:55 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)

15/08/03 10:15:57 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)

15/08/03 10:15:59 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)

解决办法:

将集群配置文件中core-site.xml  localhost改为你主节点IP

然后加入在yarn-site.xml中加入

<property>
<name>yarn.resourcemanager.address</name>
<value>127.0.0.1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>127.0.0.1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>127.0.0.1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>127.0.0.1</value>
</property>

注意127.0.0.1改为你的ip

特别注意的是,修改后,集群要重新启动,且把里边的修改的文件重新copy一份到程序的src目录下,在eclipse中刷新

错误5:

Exit code: 1

Exception message: /bin/bash: 第 0 行: fg: 无任务控制

Stack trace: ExitCodeException exitCode=1: /bin/bash: 第 0 行: fg: 无任务控制

解决办法参考网上给的教程:http://www.aboutyun.com/thread-8498-1-1.html 并未解决

真正的办法是:

在客户端配置文件中添加如下属性:

    <property>
        <name>mapreduce.app-submission.cross-platform</name>
        <value>true</value>
    </property>

注意:必须添加到Hadoop程序读取的客户端本地配置文件中,添加到客户端Hadoop安装路径中的“core-site.xml”,“mapred-site.xml”等文件中不起作用

推荐一篇不错的博客:http://www.aboutyun.com/thread-8311-1-1.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-26 18:39:00

windows下使用Eclipse编译运行MapReduce程序 Hadoop2.6.0/Ubuntu(二)的相关文章

windows下使用Eclipse编译运行MapReduce程序 Hadoop2.6.0/Ubuntu

一.环境介绍 宿主机:windows8 虚拟机:Ubuntu14.04 hadoop2.6伪分布:搭建教程http://blog.csdn.net/gamer_gyt/article/details/46793731 Eclipse:eclipse-jee-luna-SR2-win32-x86_64 二.准备阶段 网上下载hadoop-eclipse-plugin-2.6.0.jar (点击下载) 也可以自行编译(网上教程挺多的,可以自己百度 or Google) 三.begin 复制编译好的j

使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS

文章来源:http://www.powerxing.com/hadoop-build-project-using-eclipse/ 使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS 本教程介绍的是如何在 Ubuntu/CentOS 中使用 Eclipse 来开发 MapReduce 程序,在 Hadoop 2.6.0 下验证通过.虽然我们可以使用命令行编译打包运行自己的MapReduce程序,但毕竟编写代码不方便.使用 Eclipse,我们可以

Windows 使用Eclipse编译运行MapReduce --WordCount 本地调式

一 . 准备工作 操作系统:windows 10 开发工具:eclipse 4.5 java虚拟机 :jdk 1.8  (jdk-8u91-windows-x64.exe) 官网下载地址http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-windows-x64.exe hadoop版本:hadoop2.6 (hadoop-2.6.4.tar.gz) 官网下载地址http://apache.fayea.com/hadoop/c

在linux下安装eclipse以及运行c++程序的安装步骤

1.       下载jre,eclipse,cdt 其中jre是java运行环境,eclipse需要先装jre,才可能运行,cdt是在eclipse中运行c\c++程序的插件. 下载jre 网址是:http://www.oracle.com/technetwork/java/javase/downloads/index.html,点击JRE下载(如下图) 选择"Aceept License Argeement" (如上图) 点击"jre-7u21-linux-i586.bi

使用命令行编译打包运行自己的MapReduce程序 Hadoop2.6.0

使用命令行编译打包运行自己的MapReduce程序 Hadoop2.6.0 网上的 MapReduce WordCount 教程对于如何编译 WordCount.java 几乎是一笔带过… 而有写到的,大多又是 0.20 等旧版本版本的做法,即 javac -classpath /usr/local/hadoop/hadoop-1.0.1/hadoop-core-1.0.1.jar WordCount.java,但较新的 2.X 版本中,已经没有 hadoop-core*.jar 这个文件,因此

在Windows下设置环境变量 运行mysql程序变得更容易

在Windows下设置环境变量,点开始菜单,右键单击我的电脑--属性--高级--环境变量 可以看到PATH的变量是这样的: C:\WINDOWS;C:\WINDOWS\COMMAND 为了让运行mysql程序变得更容易,改变它的值指向程序安装目录,添加一个目录D:\Program Files\wamp\bin\mysql\mysql5.0.51b\bin,结果是 D:\Program Files\wamp\bin\mysql\mysql5.0.51b\bin;C:\WINDOWS;C:\WIND

linux下使用gcc编译运行C程序

gcc(GNU Compiler Collection)是Linux下最常用的C语言编译器,是GNU项目中符合ANSI C标准的编译系统,能够编译用C.C++和Object C等语言编写的程序.  在linux系统中,常见的使用方法有两种,如下: gcc -o out in1 in2 //gcc编译以及链接(对in1文件和in2文件进行编译生成out.bin文件,"-o":表示生成可执行文件) gcc -c out in1 in2 // gcc编译不链接(对in1文件和in2文件文件进

Linux下的Eclipse远程运行Mapreduce到hadoop集群

假设已经配置好集群. 在开发客户机Linux centos 6.5上进行: a.客户机centos 有一个和集群同名的访问用户:huser. b.vim /etc/hosts 加入namenode,加入本机IP. ------------------------- 1.安装hadoop集群 同版本的 jdk, hadoop, 2.Eclipse 编译和安装同版本的 hadoop-plugin, 2.a设定preference->hadoop MR->hadoop install directo

Win系统下用Eclipse中运行远程hadoop MapReduce程序常见错误及解决方法

一.Permission denied 1.Win系统下用Eclipse中运行远程hadoop MapReduce程序出现报错 org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=xxx, access=WRITE, inode="xxx":xxx:supergroup:rwxr-xr-x