- 浏览: 155062 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (113)
- Java工具类 (3)
- Hibernate (1)
- Struts>1&2 (0)
- Spring (0)
- Web前端 (1)
- 数据库 (2)
- 中间件 (3)
- 搜索引擎 (11)
- EJB (1)
- Log日志 (1)
- OS操作系统 (7)
- Java文档 (4)
- Security (1)
- Exception&Error (7)
- 日志&心情 (7)
- 开心一下 (3)
- 云计算 (41)
- Cache缓存 (4)
- MongoDB (1)
- OS操作系统 Linux (7)
- jquery (1)
- 机器学习 (2)
- Plugins (2)
- AJAX (1)
- Java工具 (1)
- WebService (1)
最新评论
-
a420144030:
你好,我想计算n篇文章的相似度,用mahout能处理吗,如何做 ...
mahout使用 -
di1984HIT:
OK,真的很牛啊
hadoop常见错误 -
xwl1991:
还真是这个问题 !
quartz报错java.lang.NoSuchMethodError: org.apache.commons.collections.SetUtils.ord
错误1:bin/hadoop dfs 不能正常启动,持续提示:
INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 0 time(s).
原因:由于 dfs 的部分文件默认保存在tmp文件夹,在系统重启时被删除。
解决:修改core-site.xml 的 hadoop.tmp.dir配置文件路径:/home/hadoop/tmp。
错误2:hadoop出现了一些问题。用$ bin/hadoop dfsadmin -report 测试的时候,发现dfs没有加载。
显示如下:
Configured Capacity: 0 (0 KB)
Present Capacity: 0 (0 KB)
DFS Remaining: 0 (0 KB)
DFS Used: 0 (0 KB)
DFS Used%: ?%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
查看日志:
ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /home/hadoop/data: namenode namespaceID = 2033006627; datanode namespaceID = 1589898341
经分析,是由于namenode namespaceID = 2033006627;和datanode namespaceID = 1589898341 不一致造成原因。
修改了namenode namespaceID = 1589898341 可以使用,但是重启之后,又不可以用了。
最后解决方案:删除hadoop用户下的name文件夹,data文件夹,tmp文件夹,temp文件里的内容,然后重新执行namenode命令。
重启电脑之后,正常。
错误3:File /home/hadoop/tmp/mapred/system/jobtracker.info could only be replicated to 0 nodes, instead of 1
出现此错误,一般发生在datanode与namenode还没有进行连接,就开始往hdfs系统上put数据了。稍等待一会,就可以了。
也可以使用:hadoop dfsadmin –report命令查看集群的状态。
错误4:每次启动总有部分datanade不能去全部启动,查看日志文件,显示为:
ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.net.UnknownHostException: zgchen-ubutun: zgchen-ubutun at java.net.InetAddress.getLocalHost(InetAddress.java:1426)。
分析:这是由于datanode 找不到服务host引起的。
解决:通过查找/etc/hostname 找到hostname;比如:ubuntu。
然后找到/etc/hosts ,添加:127.0.1.1 ubuntu
错误5:java.lang.OutOfMemoryError: GC overhead limit exceeded
分析:这个是JDK6新添的错误类型。是发生在GC占用大量时间为释放很小空间的时候发生的,是一种保护机制。解决方案是,关闭该功能,可以添加JVM的启动参数来限制使用内存: -XX:-UseGCOverheadLimit
添加位置是:mapred-site.xml 里新增项:mapred.child.java.opts 内容:-XX:-UseGCOverheadLimit
java.lang.OutOfMemoryError: Java heap space
出现这种异常,明显是jvm内存不够得原因,要修改所有的datanode的jvm内存大小。
Java -Xms1024m -Xmx4096m
一般jvm的最大内存使用应该为总内存大小的一半,我们使用的8G内存,所以设置为4096m,这一值可能依旧不是最优的值。(其实对于最好设置为真实物理内存大小的0.8)
错误6:Too many fetch-failures
Answer:
出现这个问题主要是结点间的连通不够全面。
1) 检查 、/etc/hosts
要求本机ip 对应 服务器名
要求要包含所有的服务器ip + 服务器名
2) 检查 .ssh/authorized_keys
要求包含所有服务器(包括其自身)的public key
错误7:处理速度特别的慢 出现map很快 但是reduce很慢 而且反复出现 reduce=0%
Answer:
结合第二点,然后修改可用内存大小。
conf/hadoop-env.sh 中的export HADOOP_HEAPSIZE=4000
错误8:能够启动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记录的信息版本对应。
注意:删除是个很危险的动作,不能确认的情况下不能删除!!做好删除的文件等通通备份!!
错误9:java.io.IOException: Could not obtain block: blk_194219614024901469_1100 file=/user/hive/warehouse/src_20100924_log/src_20100924_log
出现这种情况大多是结点断了,没有连接上。或者 mapred.tasktracker.map.tasks.maximum 的设置 超过 cpu cores数目,导致出现获取不到文件。
错误10:Task Id : attempt_201010291615_0001_m_000234_0, Status : FAILED Error: java.io.IOException: No space left on device
Task Id : attempt_201010291615_0001_m_000240_0, Status : FAILED java.io.IOException: Spill failed
磁盘空间不够,应该分析磁盘空间df -h 检查是否还存在磁盘空间。
错误11:Task Id : attempt_201011011336_0007_m_000001_0, Status : FAILED
org.apache.hadoop.hbase.client.RegionOfflineException: region offline: lm,,1288597709144
网上说,将/hbase删除;重启hbase后,可以正常应用了。但是我找不到/hbase目录,只好自己重新删除掉一些hadoop文件,重新生成文件管理系统。
还有一个可能是,配置错了/hbase/conf/hbase-env.sh的HBASE_CLASSPATH,这个默认是不配置的,所以可以不配置。
错误12:org.apache.hadoop.hbase.TableNotFoundException: org.apache.hadoop.hbase.TableNotFoundException: lm
找不到表,hbase启动了,检查一下是否存在需要的Htable。
错误13:Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out
Answer:
程序里面需要打开多个文件,进行分析,系统一般默认数量是1024,(用ulimit -a可以看到)对于正常使用是够了,但是对于程序来讲,就太少了。
修改办法:在以上两个文件里
/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
错误14:Too many fetch-failures
Answer:
出现这个问题主要是结点间的连通不够全面。
1) 检查 、/etc/hosts
要求本机ip 对应服务器名
要求要包含所有的服务器ip + 服务器名
2) 检查 .ssh/authorized_keys
要求包含所有服务器(包括其自身)的public key
错误15:处理速度特别的慢 出现map很快 但是reduce很慢 而且反复出现 reduce=0%
Answer:
结合第二点,然后
修改 conf/hadoop-env.sh 中的export HADOOP_HEAPSIZE=4000
错误16:能够启动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记录的信息版本对应。
注意:删除是个很危险的动作,不能确认的情况下不能删除!!做好删除的文件等通通备份!!
错误17:java.io.IOException: Could not obtain block: blk_194219614024901469_1100 file=/user/hive/warehouse/src_20090724_log/src_20090724_log
出现这种情况大多是结点断了,没有连接上。
错误18:java.lang.OutOfMemoryError: Java heap space
出现这种异常,明显是jvm内存不够得原因,要修改所有的datanode的jvm内存大小。
Java -Xms1024m -Xmx4096m
一般jvm的最大内存使用应该为总内存大小的一半,我们使用的8G内存,所以设置为4096m,这一值可能依旧不是最优的值。(其实对于最好设置为真实物理内存大小的0.8)
错误19:出现map%,但是呢reduce到98%左右的时候呢,就直接进failedjobs了
解决办法:
检查mapred.map.tasks是不是设置的太多了,设置太多的话会导致处理大量的小文件
检查mapred.reduce.parallel.copies是否设置合适。
发表评论
-
用Sqoop把数据从HDFS导入到MYSQL
2012-10-27 23:30 2354转自:http://www.kaifajie.cn/mySQL ... -
大数据的储存:百度HDFS集群的数据压缩
2012-08-30 17:48 12072012年4月13日,由IT168(ITP ... -
用sqoop进行mysql和hdfs系统间的数据互导
2012-07-31 16:32 1941转自:http://abloz.com/2012/07/19/ ... -
从hive将数据导出到mysql
2012-07-31 16:31 1824转自:http://abloz.com/2012/07/20/ ... -
Hive SQL
2012-07-19 13:49 1426转自:http://www.tbdata.org/ ... -
Hive优化总结
2012-07-09 15:18 4332优化时,把hive sql当做ma ... -
hadoop/mapred 优化方法
2012-06-12 11:47 1396从三个方面着手优化 : 1. hadoop配置 2. ... -
hadoop集群dfs.data.dir目录权限问题导致节点无法启动
2012-06-11 18:32 6228安装使用Hive的时候发现文件无法从本地拷贝到hadoo ... -
hadoop中的balancer
2012-06-11 15:49 1145对于HDFS集群,经常长时间的运行,尤其是大量的delete操 ... -
Hadoop集群上使用Lzo压缩
2012-05-28 11:03 935转自:http://www.tech126.com/hadoo ... -
使用Hive读取Hbase中的数据
2012-05-23 13:12 2274转自:http://www.4ucode.com/Study/ ... -
在XP系统下配置eclipse集成hadoop开发
2012-05-05 11:09 1048一、目的:由于hadoop只能在Linux环境下运行,所以对于 ... -
使用Hive读取Hbase中的数据
2012-04-18 14:24 1098转自:http://www.4ucode.com/Study/ ... -
Web日志分析方法概述 让复杂的数据挖掘变得简单可行
2012-04-13 16:31 874志在计算机系统中是一个非常广泛的概念,任何程序都有可能输出日志 ... -
应用sqoop将MySQL数据库中的数据导入Hbase
2012-04-12 11:31 2066转自:http://www.bwxxkj.com/a/jish ... -
hadoop中的trash机制,恢复删除的文件
2012-03-31 13:46 2201Hadoop回收站trash,默认是关闭的。 1.修改con ... -
Hadoop 和DBMS 的互补性
2012-03-29 12:22 673随着Microsoft 也加入Hadoop 阵营,Hadoop ... -
Hadoop 中的两表join
2012-03-29 12:20 851转自:http://www.gemini52013 ... -
各版本编译hadoop eclipse plugin
2012-03-29 12:19 1384转自:http://www.gemini52013 ... -
hbase运维
2012-03-23 17:33 1308转自:http://blog.bluedavy.c ...
相关推荐
NULL 博文链接:https://xjward.iteye.com/blog/1814826
本篇文章是对hadoop常见错误以及处理方法进行了详细的分析介绍,需要的朋友参考下
Hadoop集群常见错误收集.doc 常见错误收集
2. **Hadoop常见错误及解决办法汇总.docx**:这份文档很可能是针对Hadoop在实际操作中遇到的问题和解决方案的集合。通过阅读,用户可以了解常见的错误类型,如NameNode和DataNode的故障、MapReduce作业的错误等,...
Hadoop常见问题及解决办法汇总 Hadoop是一个基于Apache的开源大数据处理框架,广泛应用于大数据处理、数据分析和机器学习等领域。然而,在使用Hadoop时,经常会遇到一些常见的问题,这些问题可能会导致Hadoop集群...
hadoop常见问题及解决方法 Hadoop是大数据处理的重要工具,但是在安装和使用Hadoop时,可能会出现一些常见的问题,这些问题可能会导致Hadoop无法正常工作,或者无法达到预期的性能。下面是Hadoop常见的问题及解决...
这个文档包含了Hadoop相关的常见笔试题答案,涵盖了Hadoop的基本概念、架构组件、配置文件以及操作命令等多个方面。 1. Hadoop的核心组成部分是HDFS(Hadoop Distributed File System),它是一个分布式文件系统,...
大数据技术之 Hadoop 运行模式及常见错误及解决方案 Hadoop 运行模式是大数据技术中的一个重要概念,它决定了 Hadoop 集群的运行方式和性能。在本文中,我们将详细介绍 Hadoop 的三种运行模式:本地运行模式、伪...
在使用winutils.exe和hadoop.dll时,可能会遇到一些常见问题,如找不到相关文件的错误、权限问题或版本不兼容等。解决这些问题通常需要检查环境变量设置、确保使用与Hadoop版本匹配的winutils.exe和hadoop.dll,以及...
作为一个专业的IT大师,我很高兴为你解析Hadoop常见的45个面试题中的关键知识点。由于文件名仅给出面试题的文档,我们无法直接引用具体问题,但我们可以从Hadoop的核心组件、工作原理、应用案例等方面展开讨论,这些...
安装或使用Hadoop的dll文件时,可能会遇到一些常见问题,如版本不兼容、路径配置错误或缺失依赖。解决这些问题通常需要检查以下几点: 1. 确保dll文件与Hadoop版本兼容。 2. 检查Java环境是否正确配置,包括JDK版本...
常见错误总结: * Namenode未启动 * Datanode未启动 * JobTracker未启动 * TaskTracker未启动 * 数据存储错误 * 任务执行错误 解决方法: * Namenode未启动:检查 Namenode 配置文件,检查 Namenode 进程状态 * ...
5. **故障排查**:提供一些常见的错误代码和解决办法,帮助用户诊断和修复问题。 在处理hadoop.dll时,用户应遵循这些说明,以避免可能出现的错误。如果遇到问题,建议首先查看日志文件,找出错误的根源,然后根据...
问题" 暗示了在Eclipse环境中配置和运行Hadoop项目时遇到的常见错误。这个错误通常是因为Eclipse找不到Hadoop的可执行文件,这可能是由于环境变量配置不正确或者Hadoop安装路径没有正确设置。要解决这个问题,开发者...
3. **日志错误**:查阅Hadoop的日志文件,通常位于`$HADOOP_HOME/logs/`目录下,根据错误信息进行排查。 #### 八、总结 通过以上步骤,您已经成功地在Ubuntu 14.04环境下安装并配置了Hadoop 2.6.0版本。无论是单机...
这是安装Eclipse插件的一种常见方法。具体步骤如下: 1. 首先,你需要下载hadoop-eclipse-plugin-2.6.0.jar文件,这通常是通过官方网站或第三方仓库获取。 2. 找到你的Eclipse安装目录,通常位于`C:\Program Files\...
本文将详细介绍如何在Win 7 64位操作系统上编译Hadoop 2.7.3的源码,并分享在这个过程中遇到的一些常见问题及解决方法。 #### 二、准备工作 为了能够在Win 7 64位系统上成功编译Hadoop 2.7.3,首先需要进行一系列的...
最后,"Hadoop安装手册.pdf"很可能是官方或第三方编写的全面安装指南,包含更详细的步骤、最佳实践和常见问题解答。这份手册可能涵盖单机模式、伪分布式模式和完全分布式模式的安装,以及如何进行故障排查。 总的来...