`
lvjianyun
  • 浏览: 7802 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

学习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

 

 

hadoop java.io.ioexception:cannot open filename /user/...

在eclipse里面写程序运行时,出现了这样的错误,hadoop java.io.ioexception:cannot open filename /user/...

 

弄了半天,还查看了日志文件,可能是1)输入文件名写错了2)把hadoop.temp.dir下全删了,datanode的也是,然后重新格式化重启hadoop3)在安全模式,等待自动停止或手动停止安全模式

 

 

 

 

10/10/25 16:45:39 INFO mapred.JobClient:  map 92% reduce 30%

10/10/25 16:45:44 INFO mapred.JobClient: Task Id : attempt_201010251638_0003_m_000013_1, Status : FAILED

java.io.IOException: Cannot open filename /user/eryk/input/conf

 

额,发现是一个命令打的有问题

错误的命令:

eryk@eryk-1520:~/tmp/hadoop$ bin/hadoop fs -put conf/ input

包含的内容:

eryk@eryk-1520:~/tmp/hadoop$ bin/hadoop fs -lsr

drwxr-xr-x   - eryk supergroup          0 2010-10-25 16:49 /user/eryk/input

-rw-r--r--   1 eryk supergroup       3936 2010-10-25 16:48 /user/eryk/input/capacity-scheduler.xml

drwxr-xr-x   - eryk supergroup          0 2010-10-25 16:49 /user/eryk/input/conf

-rw-r--r--   1 eryk supergroup       3936 2010-10-25 16:49 /user/eryk/input/conf/capacity-scheduler.xml

-rw-r--r--   1 eryk supergroup        535 2010-10-25 16:49 /user/eryk/input/conf/configuration.xsl

-rw-r--r--   1 eryk supergroup        388 2010-10-25 16:49 /user/eryk/input/conf/core-site.xml

-rw-r--r--   1 eryk supergroup       2360 2010-10-25 16:49 /user/eryk/input/conf/hadoop-env.sh

-rw-r--r--   1 eryk supergroup       1245 2010-10-25 16:49 /user/eryk/input/conf/hadoop-metrics.properties

-rw-r--r--   1 eryk supergroup       4190 2010-10-25 16:49 /user/eryk/input/conf/hadoop-policy.xml

-rw-r--r--   1 eryk supergroup        258 2010-10-25 16:49 /user/eryk/input/conf/hdfs-site.xml

-rw-r--r--   1 eryk supergroup       2815 2010-10-25 16:49 /user/eryk/input/conf/log4j.properties

-rw-r--r--   1 eryk supergroup        274 2010-10-25 16:49 /user/eryk/input/conf/mapred-site.xml

-rw-r--r--   1 eryk supergroup         10 2010-10-25 16:49 /user/eryk/input/conf/masters

-rw-r--r--   1 eryk supergroup         10 2010-10-25 16:49 /user/eryk/input/conf/slaves

-rw-r--r--   1 eryk supergroup       1243 2010-10-25 16:49 /user/eryk/input/conf/ssl-client.xml.example

-rw-r--r--   1 eryk supergroup       1195 2010-10-25 16:49 /user/eryk/input/conf/ssl-server.xml.example

-rw-r--r--   1 eryk supergroup        535 2010-10-25 16:48 /user/eryk/input/configuration.xsl

-rw-r--r--   1 eryk supergroup        388 2010-10-25 16:48 /user/eryk/input/core-site.xml

-rw-r--r--   1 eryk supergroup       2360 2010-10-25 16:48 /user/eryk/input/hadoop-env.sh

-rw-r--r--   1 eryk supergroup       1245 2010-10-25 16:48 /user/eryk/input/hadoop-metrics.properties

-rw-r--r--   1 eryk supergroup       4190 2010-10-25 16:48 /user/eryk/input/hadoop-policy.xml

-rw-r--r--   1 eryk supergroup        258 2010-10-25 16:48 /user/eryk/input/hdfs-site.xml

-rw-r--r--   1 eryk supergroup       2815 2010-10-25 16:48 /user/eryk/input/log4j.properties

-rw-r--r--   1 eryk supergroup        274 2010-10-25 16:48 /user/eryk/input/mapred-site.xml

-rw-r--r--   1 eryk supergroup         10 2010-10-25 16:48 /user/eryk/input/masters

-rw-r--r--   1 eryk supergroup         10 2010-10-25 16:48 /user/eryk/input/slaves

-rw-r--r--   1 eryk supergroup       1243 2010-10-25 16:48 /user/eryk/input/ssl-client.xml.example

-rw-r--r--   1 eryk supergroup       1195 2010-10-25 16:48 /user/eryk/input/ssl-server.xml.example

 

发现里面的内容重复了一遍

 

修改后的命令:

eryk@eryk-1520:~/tmp/hadoop$ bin/hadoop fs -put conf input

只是去掉了conf后面的"/" 

里面的内容:

eryk@eryk-1520:~/tmp/hadoop$ bin/hadoop fs -lsr

drwxr-xr-x   - eryk supergroup          0 2010-10-25 16:49 /user/eryk/input

-rw-r--r--   1 eryk supergroup       3936 2010-10-25 16:49 /user/eryk/input/capacity-scheduler.xml

-rw-r--r--   1 eryk supergroup        535 2010-10-25 16:49 /user/eryk/input/configuration.xsl

-rw-r--r--   1 eryk supergroup        388 2010-10-25 16:49 /user/eryk/input/core-site.xml

-rw-r--r--   1 eryk supergroup       2360 2010-10-25 16:49 /user/eryk/input/hadoop-env.sh

-rw-r--r--   1 eryk supergroup       1245 2010-10-25 16:49 /user/eryk/input/hadoop-metrics.properties

-rw-r--r--   1 eryk supergroup       4190 2010-10-25 16:49 /user/eryk/input/hadoop-policy.xml

-rw-r--r--   1 eryk supergroup        258 2010-10-25 16:49 /user/eryk/input/hdfs-site.xml

-rw-r--r--   1 eryk supergroup       2815 2010-10-25 16:49 /user/eryk/input/log4j.properties

-rw-r--r--   1 eryk supergroup        274 2010-10-25 16:49 /user/eryk/input/mapred-site.xml

-rw-r--r--   1 eryk supergroup         10 2010-10-25 16:49 /user/eryk/input/masters

-rw-r--r--   1 eryk supergroup         10 2010-10-25 16:49 /user/eryk/input/slaves

-rw-r--r--   1 eryk supergroup       1243 2010-10-25 16:49 /user/eryk/input/ssl-client.xml.example

-rw-r--r--   1 eryk supergroup       1195 2010-10-25 16:49 /user/eryk/input/ssl-server.xml.example

 

分享到:
评论

相关推荐

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

    通过学习这些内容,你将具备构建和实施复杂大数据解决方案的能力,无论是在企业内部的业务分析,还是在科研领域的数据挖掘,都能游刃有余地利用Hadoop来处理和解析海量数据。在实践中不断探索和优化,你将成为一名...

    Hadoop大数据平台安全问题和解决方案的综述

    Hadoop大数据平台安全问题和解决方案的综述,可以从这里学习到处理问题的思路。

    Hadoop大数据解决方案

    **Hadoop大数据解决方案** 在当前的信息时代,大数据已经成为企业竞争力的关键因素。Hadoop作为开源的分布式计算框架,为处理海量数据提供了强大支持。本解决方案基于Hadoop生态系统,旨在为企业提供高效、灵活且可...

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

    在大数据处理领域,Hadoop是一个...通过深入学习这份资料,你将能够熟练掌握Hadoop高级编程技巧,为构建和实现大数据解决方案打下坚实的基础。无论你是初学者还是有经验的开发者,这份文档都将是你不可或缺的学习资源。

    hadoop数据挖掘解决方案.pdf

    【描述】:“Hadoop数据挖掘解决方案.pdf”文件主要探讨了基于Hadoop的数据挖掘平台的分析与设计,以及Hadoop在大数据解决方案中的作用。 【标签】:“互联网” 【内容】:Hadoop是Apache开源项目,用于构建云计算...

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

    - 书籍:《Hadoop权威指南》、《Hadoop实战》等深入学习Hadoop生态系统。 总结,掌握Hadoop高级编程不仅是提升大数据处理能力的关键,也是解决实际业务挑战的重要手段。通过不断学习和实践,可以有效地构建和实现...

    EMC Hadoop解决方案 PPT

    为了解决这些问题,EMC推出了面向企业的Hadoop解决方案,它不仅包含了开源的Hadoop技术,而且加入了EMC自身的技术创新和产品优势,如增强的数据保护、更高效率的存储以及更加灵活和可扩展的架构。这种解决方案能够在...

    基于Greenplum Hadoop- 分布式平台的大数据解决方案26 - 查询数据(3).zip

    5. **案例研究**:可能包含实际业务场景下的数据查询解决方案,展示如何利用Greenplum和Hadoop解决复杂的数据分析问题。 通过学习这一课程,你将能够掌握在Greenplum和Hadoop分布式平台上构建高效大数据查询解决...

    大数据Hadoop存储与分析处理平台建设方案-大数据Hadoop平台集成实施服务解决方案.docx

    大数据Hadoop存储与分析处理平台建设方案-大数据Hadoop平台集成实施服务解决方案 大数据Hadoop存储与分析处理平台建设方案是基于Hadoop平台的集成实施服务解决方案,旨在解决大数据存储和分析处理的难题。该方案...

    hadoop3.1.3学习资料

    Hadoop 3.1.3 是一个开源框架,主要用于分布式存储和处理大数据。这个学习资料包含的"笔记"可能涵盖了Hadoop的核心组件...笔记可能会涵盖这些问题的解决方案、案例研究以及常见问题解答,帮助你快速掌握Hadoop的使用。

    基于Greenplum Hadoop- 分布式平台的大数据解决方案03 - 安装Greenplum(1)

    本篇内容将深入探讨这两个平台如何结合,以及如何安装Greenplum作为实现分布式大数据解决方案的关键步骤。 **一、Greenplum简介** Greenplum是一种高性能的并行数据库系统,它基于PostgreSQL开源数据库,专为大数据...

    Hadoop入门学习文档

    - **零售行业**:利用大数据探索用户价值,提供个性化服务解决方案。 - **广告推荐**:根据用户的浏览行为推荐相关的商品广告。 ##### 1.3 大数据发展前景 - **国家战略**:中国已将实施国家大数据战略纳入“十三五...

    hadoop数据挖掘解决方案.docx

    【Hadoop 数据挖掘解决方案】 Hadoop 是一个基于Java的开源框架,主要用于处理和存储大规模数据。它由Apache软件基金会维护,旨在提供分布式文件系统(HDFS)和分布式计算(MapReduce)的能力,使得处理海量数据变...

    hadoop入门学习文档

    2003 年与 2004 年,Google 发表的 GFS 和 MapReduce 论文为这些问题提供了解决方案。随后,Nutch 开发者实现了 HDFS 和 MapReduce 的开源版本,并将其从 Nutch 中分离出来作为独立项目。2008 年,Hadoop 成为了 ...

    Hadoop2.0上深度学习的解决方案.docx

    在Hadoop2.0上实现深度学习是一种应对大数据规模下机器学习需求的有效解决方案。Hadoop是一个开源的分布式计算框架,特别适合处理和存储海量数据。随着深度学习的发展,其在处理复杂模式识别和数据分析方面的能力日...

    Hadoop学习笔记

    自己整理的hadoop学习笔记,很详尽 很真实。linux操作终端下遇到的各种Hadoop常见问题 解决方案

    基于Greenplum Hadoop- 分布式平台的大数据解决方案22 - 管理数据(1).zip

    7. **备份与恢复策略**:设计有效的备份计划以防止数据丢失,并了解如何在出现问题时迅速恢复数据。 8. **扩展性**:随着数据量的增长,系统需要能够平滑地扩展。这涉及节点的添加、负载均衡以及数据分布策略的调整...

    hadoop学习整理的文档

    这些工具协同工作,为大数据处理提供完整的解决方案。 【HBase】: HBase是基于HDFS的分布式列式数据库,适用于实时查询。它提供了随机读写能力,适用于处理结构化和半结构化的数据。HBase的表由行和列组成,数据...

Global site tag (gtag.js) - Google Analytics