`

Hadoop Exception 以及解决办法

阅读更多

1.....今天写 Hadoop程序的时候 出现了这么一个问题

java.lang.RuntimeException: java.io.EOFException
	at org.apache.hadoop.io.WritableComparator.compare(WritableComparator.java:165)
	at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.compare(MapTask.java:1268)
	at org.apache.hadoop.util.QuickSort.fix(QuickSort.java:35)
	at org.apache.hadoop.util.QuickSort.sortInternal(QuickSort.java:88)
	at org.apache.hadoop.util.QuickSort.sort(QuickSort.java:63)
	at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.sortAndSpill(MapTask.java:1600)
	at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.flush(MapTask.java:1489)
	at org.apache.hadoop.mapred.MapTask$NewOutputCollector.close(MapTask.java:723)
	at org.apache.hadoop.mapred.MapTask.closeQuietly(MapTask.java:2019)
	at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:797)
	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
	at org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:243)
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.io.EOFException
	at java.io.DataInputStream.readInt(Unknown Source)
	at com.mjm.tq.Weather.readFields(Weather.java:55)
	at org.apache.hadoop.io.WritableComparator.compare(WritableComparator.java:158)
	... 16 more

 

检查 错误原因:

	@Override
	public void readFields(DataInput in) throws IOException {
		this.year = in.readInt();
		this.month = in.readInt();
		this.day = in.readInt();
		this.temperature = in.readInt();
	}
	@Override
	public void write(DataOutput out) throws IOException {
                //这边应该是writeInt()
		out.write(year);
		out.write(month);
		out.write(day);
		out.write(temperature);
	}

 

2...z在本地从测试环境下,在windows  Eclipse上运行hadoop程序时

总是报如下错误:

Diagnostics: Exception from container-launch.
Container id: container_1492698686128_0006_02_000001
Exit code: 1
Exception message: /bin/bash: line 0: fg: no job control

Stack trace: ExitCodeException exitCode=1: /bin/bash: line 0: fg: no job control

	at org.apache.hadoop.util.Shell.runCommand(Shell.java:582)
	at org.apache.hadoop.util.Shell.run(Shell.java:479)
	at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:773)
	at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:212)
	at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302)
	at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:82)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)


Container exited with a non-zero exit code 1
Failing this attempt. Failing the application.
2017-04-21 09:44:15,747 INFO  [main] mapreduce.Job (Job.java:monitorAndPrintJob(1385)) - Counters: 0

 

找出 错误原因 是因为



项目中的classpath下不能有  服务器上的配置文件

至于为什么  就有点 不太懂了,可以看看网上其他的blog 

参考:http://www.aboutyun.com/thread-8498-1-1.html

 

 

3.对了 我还遇到过一个问题   环境:服务器模式

就是MR程序状态一直在  JobRunnng状态  卡在这边 >=30min,后来在网上 看看有没有解决办法

 

在yarn-site.xml中加了:

      

[plain] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. <property>  
  2.     <name>yarn.nodemanager.resource.memory-mb</name>  
  3.     <value>20480</value>  
  4. </property>  
  5. <property>  
  6.    <name>yarn.scheduler.minimum-allocation-mb</name>  
  7.    <value>2048</value>  
  8. </property>  
  9. <property>  
  10.     <name>yarn.nodemanager.vmem-pmem-ratio</name>  
  11.     <value>2.1</value>  
  12. </property>  

 

加了 以上这几句 就好了,可以正常运行

  出现此故障的原因应该是,在每个Docker分配的内存和CPU资源太少,不能满足Hadoop和Hive运行所需的默认资源需求。

参考:http://blog.csdn.net/dai451954706/article/details/50464036

 

 

  • 大小: 24.7 KB
分享到:
评论

相关推荐

    上传文件到Hadoop失败的原因分析及解决方法.pdf

    Hadoop 文件上传失败原因分析及解决方法 本文主要讨论了在 Java Web 程序中上传文件到 Hadoop HDFS 文件系统中失败的原因分析及解决方法。通过对问题的分析和解决,可以总结出以下知识点: 1. Hadoop 文件上传失败...

    hadoop1.0 Failed to set permissions of path 解决方案

    hadoop 启动时 TaskTracker无法启动 ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task ...我采用修改FileUtil类 checkReturnValue方法代码 重新编译 替换原来的hadoop-core-1.0.0.jar文件 来解决

    hadoop配置运行错误

    hadoop配置运行错误解决方法 hadoop是一个大数据处理的基础架构,但是在实际使用过程中经常会碰到各种各样的问题,以下是解决hadoop配置运行错误的一些经验总结: 一、hadoop集群在namenode格式化后重启集群会出现...

    hadoop运行wordcount实例

    在配置Hadoop的过程中,可能会遇到以下常见问题及其解决方法: 1. **Java环境问题**: - 错误提示:“java: no such file or directory”。 - 解决方案:确保已经正确安装 Java 环境并且 PATH 环境变量设置正确。...

    hadoop-core-1.0.3.jar

    Exception in thread "main" java.io.IOException: Failed to ...解决方法是,修改/hadoop-1.0.3/src/core/org/apache/hadoop/fs/FileUtil.java文件 688-692行注释,然后重新编译源代码,重新打一个hadoop.jar的包。

    hadoop-core-1.2.0

    解决hadoop运行在windows下的错误Exception in thread "main" java.io.IOException: Failed to set permissions of path: \tmp\hadoop-Administrator\mapred\staging\Administrator606301699\.staging to 0700

    Hadoop面试100题.pdf

    - **知识点说明**:Cloudera提供了多种安装CDH(CDH即Cloudera Distribution Including Apache Hadoop)的方法,包括使用Cloudera Manager图形界面安装、使用脚本自动安装(Cloudera Director)以及手动安装等。...

    hadoop搭建

    ### Hadoop 搭建与 Eclipse 开发环境...包括安装 Hadoop 的 Eclipse 插件、设置连接参数、运行 Hadoop 程序以及解决常见的错误等关键步骤。通过这些步骤,可以有效地利用 Eclipse 进行 Hadoop 应用程序的开发和测试。

    基于hadoop实现输出出现频率最高的20个词

    通过以上步骤,我们能够利用Hadoop MapReduce框架以及多Job级联的技术实现找出文本中出现频率最高的前N个词的目标。这种方法不仅适用于大规模数据集的处理,还能有效地提高数据处理的效率和准确性。此外,使用新API...

    Hadoop实战

    ### Hadoop实战知识点详解 #### 一、Hadoop概述 ...通过掌握其核心组件以及相关编程技巧,开发者可以高效地处理各种大规模数据集。未来,随着技术的不断发展,Hadoop 将会更加完善,更好地服务于大数据处理的需求。

    英特尔Hadoop发行版 2.2 开发者指南

    通过上述介绍可以看出,IHD 2.2不仅包含了Hadoop的核心功能,还集成了众多增强工具和服务,旨在为用户提供全面的大数据处理解决方案。开发者可以根据自己的需求选择合适的组件和技术栈来构建高效的数据处理流程。

    FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeExcepti

    FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient 解决方法 ...

    java. lang . UnsatisfiedLinkError: org. apache . hadoop. io. nativeio. NativeIOSWindows . access0

    我在进行MapReduce本地测试的时候,遇见下面的报错: ...解决方法:①第一步:在项目工程中加入NativelO.java,注意包名必须与源码中一致 ②第二步:将access方法的返回值改为true,不让他去调用access0() 类似

    Exception in thread main java.lang.NoClassDefFoundError错误解决方法

    解决这个问题的方法通常包括: - 检查并修正源代码中的包名,确保它与类文件的实际存储位置相匹配。 - 确保运行命令正确,只提供类名(不包括包名),且没有`.class`后缀。 - 验证`CLASSPATH`环境变量是否包含所有...

    hive的一些报错及解决方法

    ### Hive的一些报错及解决方法 #### 一、Hive连接报错 在更换网络接口卡后重新启动服务时,可能会遇到Hive连接失败的问题。此类问题通常与元数据存储中的异常有关,例如存在多个版本的元数据或者端口被其他服务...

    HDFS文件系统基本文件命令、编程读写HDFS

    它是 Hadoop 云计算平台的核心组件之一,提供了高效、可靠、可扩展的数据存储和管理解决方案。 HDFS 的优点包括: 1. 高可靠性:HDFS 能够检测和恢复节点故障,确保数据的安全和可用性。 2. 高性能:HDFS 可以处理...

Global site tag (gtag.js) - Google Analytics