`
chakey
  • 浏览: 364419 次
  • 性别: Icon_minigender_1
  • 来自: 水星
社区版块
存档分类
最新评论

【3】Hadoop中常出现的错误以及解决方法

阅读更多

1:Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out
Answer:
程序里面需要打开多个文件,进行分析,系统一般默认数量是1024,(用ulimit -a可以看到)对于正常使用是够了,但是对于程序来讲,就太少了。
修改办法:
修改2个文件。
/etc/security/limits.conf
vi /etc/security/limits.conf
加上:
* soft nofile 102400
* hard nofile 409600

$cd /etc/pam.d/
$sudo vi login
添加 session    required     /lib/security/pam_limits.so

2:Too many fetch-failures
Answer:
出现这个问题主要是结点间的连通不够全面。
1) 检查 、/etc/hosts
   要求本机ip 对应 服务器名
   要求要包含所有的服务器ip + 服务器名
2) 检查 .ssh/authorized_keys
   要求包含所有服务器(包括其自身)的public key

3:处理速度特别的慢 出现map很快 但是reduce很慢 而且反复出现 reduce=0%
Answer:
结合第二点,然后
修改 conf/hadoop-env.sh 中的export HADOOP_HEAPSIZE=4000

4:能够启动datanode,但无法访问,也无法结束的错误
在重新格式化一个新的分布式文件时,需要将你NameNode上所配置的dfs.name.dir这一namenode用来存放NameNode 持久存储名字空间及事务日志的本地文件系统路径删除,同时将各DataNode上的dfs.data.dir的路径 DataNode 存放块数据的本地文件系统路径的目录也删除。如本此配置就是在NameNode上删除/home/hadoop/NameData,在DataNode上删除/home/hadoop/DataNode1和/home/hadoop/DataNode2。这是因为Hadoop在格式化一个新的分布式文件系统时,每个存储的名字空间都对应了建立时间的那个版本(可以查看/home/hadoop /NameData/current目录下的VERSION文件,上面记录了版本信息),在重新格式化新的分布式系统文件时,最好先删除NameData 目录。必须删除各DataNode的dfs.data.dir。这样才可以使namedode和datanode记录的信息版本对应。
注意:删除是个很危险的动作,不能确认的情况下不能删除!!做好删除的文件等通通备份!!

5:java.io.IOException: Could not obtain block: blk_194219614024901469_1100 file=/user/hive/warehouse/src_20090724_log/src_20090724_log
出现这种情况大多是结点断了,没有连接上。

6:java.lang.OutOfMemoryError: Java heap space
出现这种异常,明显是jvm内存不够得原因,要修改所有的datanode的jvm内存大小。
Java -Xms1024m -Xmx4096m
一般jvm的最大内存使用应该为总内存大小的一半,我们使用的8G内存,所以设置为4096m,这一值可能依旧不是最优的值。(其实对于最好设置为真实物理内存大小的0.8)
7:出现map%,但是呢reduce到98%左右的时候呢,就直接进failedjobs了
解决办法:
检查mapred.map.tasks是不是设置的太多了,设置太多的话会导致处理大量的小文件
检查mapred.reduce.parallel.copies是否设置合适。

8:
系统根目录下的/tmp文件夹是不可以删除的
否则bin/hadoop jps
会出现异常:
Exception in thread "main" java.lang.NullPointerException  at sun.jvmstat.perfdata.monitor.protocol.local.LocalVmManager.activeVms(LocalVmManager.java:127)
        at sun.jvmstat.perfdata.monitor.protocol.local.MonitoredHostProvider.activeVms(MonitoredHostProvider.java:133)
        at sun.tools.jps.Jps.main(Jps.java:45)

同时
bin/hive
Unable to create log directory /tmp/hadoopuser


2:Too many fetch-failures
Answer:
出现这个问题主要是结点间的连通不够全面。
1) 检查 、/etc/hosts
   要求本机ip 对应 服务器名
   要求要包含所有的服务器ip + 服务器名
2) 检查 .ssh/authorized_keys
   要求包含所有服务器(包括其自身)的public key

3:处理速度特别的慢 出现map很快 但是reduce很慢 而且反复出现 reduce=0%
Answer:
结合第二点,然后
修改 conf/hadoop-env.sh 中的export HADOOP_HEAPSIZE=4000

4:能够启动datanode,但无法访问,也无法结束的错误
在重新格式化一个新的分布式文件时,需要将你NameNode上所配置的dfs.name.dir这一namenode用来存放NameNode 持久存储名字空间及事务日志的本地文件系统路径删除,同时将各DataNode上的dfs.data.dir的路径 DataNode 存放块数据的本地文件系统路径的目录也删除。如本此配置就是在NameNode上删除/home/hadoop/NameData,在DataNode上删除/home/hadoop/DataNode1和/home/hadoop/DataNode2。这是因为Hadoop在格式化一个新的分布式文件系统时,每个存储的名字空间都对应了建立时间的那个版本(可以查看/home/hadoop /NameData/current目录下的VERSION文件,上面记录了版本信息),在重新格式化新的分布式系统文件时,最好先删除NameData 目录。必须删除各DataNode的dfs.data.dir。这样才可以使namedode和datanode记录的信息版本对应。
注意:删除是个很危险的动作,不能确认的情况下不能删除!!做好删除的文件等通通备份!!

5:java.io.IOException: Could not obtain block: blk_194219614024901469_1100 file=/user/hive/warehouse/src_20090724_log/src_20090724_log
出现这种情况大多是结点断了,没有连接上。

6:java.lang.OutOfMemoryError: Java heap space
出现这种异常,明显是jvm内存不够得原因,要修改所有的datanode的jvm内存大小。
Java -Xms1024m -Xmx4096m
一般jvm的最大内存使用应该为总内存大小的一半,我们使用的8G内存,所以设置为4096m,这一值可能依旧不是最优的值。(其实对于最好设置为真实物理内存大小的0.8)
7:出现map%,但是呢reduce到98%左右的时候呢,就直接进failedjobs了
解决办法:
检查mapred.map.tasks是不是设置的太多了,设置太多的话会导致处理大量的小文件
检查mapred.reduce.parallel.copies是否设置合适。

8:
系统根目录下的/tmp文件夹是不可以删除的
否则bin/hadoop jps
会出现异常:
Exception in thread "main" java.lang.NullPointerException  at sun.jvmstat.perfdata.monitor.protocol.local.LocalVmManager.activeVms(LocalVmManager.java:127)
        at sun.jvmstat.perfdata.monitor.protocol.local.MonitoredHostProvider.activeVms(MonitoredHostProvider.java:133)
        at sun.tools.jps.Jps.main(Jps.java:45)

同时
bin/hive
Unable to create log directory /tmp/hadoopuser


2:Too many fetch-failures
Answer:
出现这个问题主要是结点间的连通不够全面。
1) 检查 、/etc/hosts
   要求本机ip 对应 服务器名
   要求要包含所有的服务器ip + 服务器名
2) 检查 .ssh/authorized_keys
   要求包含所有服务器(包括其自身)的public key

3:处理速度特别的慢 出现map很快 但是reduce很慢 而且反复出现 reduce=0%
Answer:
结合第二点,然后
修改 conf/hadoop-env.sh 中的export HADOOP_HEAPSIZE=4000

4:能够启动datanode,但无法访问,也无法结束的错误
在重新格式化一个新的分布式文件时,需要将你NameNode上所配置的dfs.name.dir这一namenode用来存放NameNode 持久存储名字空间及事务日志的本地文件系统路径删除,同时将各DataNode上的dfs.data.dir的路径 DataNode 存放块数据的本地文件系统路径的目录也删除。如本此配置就是在NameNode上删除/home/hadoop/NameData,在DataNode上删除/home/hadoop/DataNode1和/home/hadoop/DataNode2。这是因为Hadoop在格式化一个新的分布式文件系统时,每个存储的名字空间都对应了建立时间的那个版本(可以查看/home/hadoop /NameData/current目录下的VERSION文件,上面记录了版本信息),在重新格式化新的分布式系统文件时,最好先删除NameData 目录。必须删除各DataNode的dfs.data.dir。这样才可以使namedode和datanode记录的信息版本对应。
注意:删除是个很危险的动作,不能确认的情况下不能删除!!做好删除的文件等通通备份!!

5:java.io.IOException: Could not obtain block: blk_194219614024901469_1100 file=/user/hive/warehouse/src_20090724_log/src_20090724_log
出现这种情况大多是结点断了,没有连接上。

6:java.lang.OutOfMemoryError: Java heap space
出现这种异常,明显是jvm内存不够得原因,要修改所有的datanode的jvm内存大小。
Java -Xms1024m -Xmx4096m
一般jvm的最大内存使用应该为总内存大小的一半,我们使用的8G内存,所以设置为4096m,这一值可能依旧不是最优的值。(其实对于最好设置为真实物理内存大小的0.8)
7:出现map%,但是呢reduce到98%左右的时候呢,就直接进failedjobs了
解决办法:
检查mapred.map.tasks是不是设置的太多了,设置太多的话会导致处理大量的小文件
检查mapred.reduce.parallel.copies是否设置合适。

8:
系统根目录下的/tmp文件夹是不可以删除的

jps is based on jvmstat and it needs to be able to secure a memory mapped file on the temporary file system. 


否则bin/hadoop jps
会出现异常:
Exception in thread "main" java.lang.NullPointerException  at sun.jvmstat.perfdata.monitor.protocol.local.LocalVmManager.activeVms(LocalVmManager.java:127)
        at sun.jvmstat.perfdata.monitor.protocol.local.MonitoredHostProvider.activeVms(MonitoredHostProvider.java:133)
        at sun.tools.jps.Jps.main(Jps.java:45)

同时
bin/hive
Unable to create log directory /tmp/hadoopuser

 

分享到:
评论
2 楼 chakey 2010-10-12  
calorie520 写道
参考你的方法一,还是报一下错误:
[hadoop@localhost hadoop-0.20.2]$ hadoop jar hadoop-0.20.2-examples.jar wordcount input output
10/08/20 17:28:42 INFO input.FileInputFormat: Total input paths to process : 2
10/08/20 17:28:42 INFO mapred.JobClient: Running job: job_201008111433_0004
10/08/20 17:28:43 INFO mapred.JobClient:  map 0% reduce 0%
10/08/20 17:28:52 INFO mapred.JobClient:  map 100% reduce 0%
10/08/20 17:29:01 INFO mapred.JobClient:  map 100% reduce 16%
10/08/20 17:29:04 INFO mapred.JobClient:  map 100% reduce 0%
10/08/20 17:29:06 INFO mapred.JobClient: Task Id : attempt_201008111433_0004_r_000000_0, Status : FAILED
Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out.
10/08/20 17:29:06 WARN mapred.JobClient: Error reading task outputConnection refused
10/08/20 17:29:06 WARN mapred.JobClient: Error reading task outputConnection refused


请查看下你的机器是32位的还是64位的?
如果是64位的话
需要做如下更改:
"添加 session    required     /lib64/security/pam_limits.so "
1 楼 calorie520 2010-08-20  
参考你的方法一,还是报一下错误:
[hadoop@localhost hadoop-0.20.2]$ hadoop jar hadoop-0.20.2-examples.jar wordcount input output
10/08/20 17:28:42 INFO input.FileInputFormat: Total input paths to process : 2
10/08/20 17:28:42 INFO mapred.JobClient: Running job: job_201008111433_0004
10/08/20 17:28:43 INFO mapred.JobClient:  map 0% reduce 0%
10/08/20 17:28:52 INFO mapred.JobClient:  map 100% reduce 0%
10/08/20 17:29:01 INFO mapred.JobClient:  map 100% reduce 16%
10/08/20 17:29:04 INFO mapred.JobClient:  map 100% reduce 0%
10/08/20 17:29:06 INFO mapred.JobClient: Task Id : attempt_201008111433_0004_r_000000_0, Status : FAILED
Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out.
10/08/20 17:29:06 WARN mapred.JobClient: Error reading task outputConnection refused
10/08/20 17:29:06 WARN mapred.JobClient: Error reading task outputConnection refused

相关推荐

    Hadoop使用常见问题以及解决方法.doc

    Hadoop使用常见问题以及解决方法.doc Hadoop使用常见问题以及解决方法.doc

    Hadoop使用常见问题以及解决方法

    "Hadoop 使用常见问题以及解决方法" Hadoop 作为一个大数据处理的开源框架,广泛应用于数据存储、处理和分析等领域。但是在使用 Hadoop 时,经常会遇到一些常见的问题,本文将对这些问题进行总结和解决。 Shuffle ...

    hadoop集群遇到的问题及其解决方法

    ### Hadoop集群遇到的问题及其解决方法 #### 异常一:DataNode无法连接到NameNode **问题描述:** 在Hadoop集群部署过程中,经常会出现DataNode无法成功连接到NameNode的情况,导致集群无法正常启动。 **原因分析...

    hadoop常见问题及解决方法

    hadoop常见问题及解决方法 Hadoop是大数据处理的重要工具,但是在安装和使用Hadoop时,可能会出现一些常见的问题,这些问题可能会导致Hadoop无法正常工作,或者无法达到预期的性能。下面是Hadoop常见的问题及解决...

    hadoop出错解决方法

    但是在使用 Hadoop 过程中,我们经常会遇到一些错误和问题,本文将为您提供一些常见的 Hadoop 故障解决方法。 一、Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out 这个错误是由于系统默认的打开...

    hadoop配置运行错误

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

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

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

    Hadoop高级编程- 构建与实现大数据解决方案

    7. **错误处理和容错机制**:理解Hadoop的检查点、故障检测和恢复策略,以及如何在代码中处理可能出现的异常情况。 8. **性能优化**:学习如何通过调整各种参数,如Split大小、Mapper和Reducer的数量,以及数据本地...

    hadoop常见问题及解决办法

    Hadoop常见问题及解决办法汇总 Hadoop是一个基于Apache的开源大数据处理框架,广泛应用于大数据处理、数据分析和机器学习等领域。然而,在使用Hadoop时,经常会遇到一些常见的问题,这些问题可能会导致Hadoop集群...

    hadoop hbase 错误日志级解决

    1,SLF4J: Class path contains multiple SLF4J bindings. 2,localhost: java.net.BindException: Address already in use 3,ERROR: org.apache.hadoop....这是我亲自遇到过的错误及解决过程,希望对大家能有帮助!

    Logstash6整合Hadoop-报错与解决方案.docx

    解决这个问题的方法是检查 Hadoop 集群的配置,确保 WEBHDFS 服务已经启动,并且 Logstash 的配置正确无误。 二、 Pipeline aborted due to error 报错 在 Logstash 中,Pipeline 是一个处理数据的流程,但是如果...

    Hadoop HA 搭建(附问题解决方法)

    资源中具体对Hadoop HA平台搭建过程中出现的问题给出了相应的解决办法,图文结合,适合新手学习来用,如果遇到其他,欢迎交流学习

    hadoop2.7.3 hadoop.dll

    在windows环境下开发hadoop时,需要配置HADOOP_HOME环境变量,变量值D:\hadoop-common-2.7.3-bin-master,并在Path追加%HADOOP_HOME%\bin,有可能出现如下错误: org.apache.hadoop.io.nativeio.NativeIO$Windows....

    hadoop中文乱码问题

    【Hadoop中文乱码问题详解】 ...总之,理解和掌握Hadoop的字符编码机制,以及如何在不同阶段适配正确的编码,是解决中文乱码问题的关键。通过本文的讲解,希望能帮助你有效解决Hadoop处理中文数据时遇到的乱码难题。

    hadoop 构建与实现大数据解决方案

    Hadoop正是为了解决这一问题而诞生的,它提供了一种分布式计算的方法,使得用户可以在廉价的硬件上构建出强大的数据处理能力。 #### 二、Hadoop生态系统 Hadoop生态系统包含了一系列的工具和技术,它们共同构成了...

    hadoop winutils hadoop.dll

    解决这些问题通常需要检查环境变量设置、确保使用与Hadoop版本匹配的winutils.exe和hadoop.dll,以及检查相关目录的权限设置。 总之,对于Windows上的Hadoop开发,理解和配置winutils.exe及hadoop.dll至关重要。...

    hadoop-core-1.2.0解决eclipse Hadoop Failed to set permissions of path错误

    eclipse远程调试hadoop时 报出eclipse Hadoop Failed to set permissions of path错误 修改hadoop core包中FileUtil java文件 里面有checkReturnValue方法 将代码throw new IOException "Failed to set ...

    hadoop/bin/hadoop.dll

    描述中提到的“在安装Hadoop环境时会缺少该文件”,这可能是因为用户下载的Hadoop发行版不完整,或者在安装过程中出现了错误。解决这个问题通常需要重新下载或获取正确的Hadoop发行版,确保所有必需的文件都包含在内...

    HADOOP权威指南第3版

    Hadoop权威指南第3版这本书,作为学习Hadoop的重要参考资料,为读者提供了关于Hadoop架构、各个组件的功能和配置方法以及如何使用Hadoop进行大规模数据处理和分析的全面指南。 首先,Hadoop的核心概念包括它的...

Global site tag (gtag.js) - Google Analytics