hadoop集群关闭后,重新开启
Namenode无法启动。
现象:
执行start-all.sh后,
在master机器是哪个,jps里虽然显示有NameNode进程,
但是web查看hdfs无法进行,也无法执行hadoop fs相关命令。
查看logs/hadoop-hadoop-namenode-xxx.log
发现在启动过程的读edits文件花了3000+s,
读完这个文件之后,接下来的环节就会报出错误信息如下:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = baby6/10.1.1.26
STARTUP_MSG: args = []
STARTUP_MSG: version = 0.20.2+737
STARTUP_MSG: build = git://ubuntu64-build01.sf.cloudera.com/ on branch -r 98c55c28258aa6f42250569bd7fa431ac657bdbd; compiled by 'root' on Tue Dec 14 11:50:19 PST 2010
************************************************************/
2011-10-13 11:58:10,053 INFO org.apache.hadoop.metrics.jvm.JvmMetrics: Initializing JVM Metrics with processName=NameNode, sessionId=null
2011-10-13 11:58:10,058 INFO org.apache.hadoop.hdfs.server.namenode.metrics.NameNodeMetrics: Initializing NameNodeMeterics using context object:org.apache.hadoop.metrics.spi.NullContext
2011-10-13 11:58:10,117 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: fsOwner=hadoop
2011-10-13 11:58:10,117 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: supergroup=supergroup
2011-10-13 11:58:10,117 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: isPermissionEnabled=true
2011-10-13 11:58:10,126 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)
2011-10-13 11:58:11,048 INFO org.apache.hadoop.hdfs.server.namenode.metrics.FSNamesystemMetrics: Initializing FSNamesystemMetrics using context object:org.apache.hadoop.metrics.spi.NullContext
2011-10-13 11:58:11,050 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Registered FSNamesystemStatusMBean
2011-10-13 11:58:11,100 INFO org.apache.hadoop.hdfs.server.common.Storage: Number of files = 2145244
2011-10-13 11:59:50,339 INFO org.apache.hadoop.hdfs.server.common.Storage: Number of files under construction = 14
2011-10-13 11:59:50,344 INFO org.apache.hadoop.hdfs.server.common.Storage: Image file of size 313452606 loaded in 99 seconds.
2011-10-13 13:04:11,893 INFO org.apache.hadoop.hdfs.server.common.Storage: Edits file /home/hadoop/hdfs/NameNode/current/edits of size 71738186 edits # 430017 loaded in 3861 seconds.
2011-10-13 13:19:42,254 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.regex.Pattern.compile(Pattern.java:1451)
at java.util.regex.Pattern.<init>(Pattern.java:1133)
at java.util.regex.Pattern.compile(Pattern.java:823)
at java.lang.String.split(String.java:2292)
at java.lang.String.split(String.java:2334)
主要是因为读edits.new文件时,内存不够。
解决:
删了NameNode/current/edits.new。
这样操作会丢失所有在edits.new里面记录的对hdfs的操作。
(网上有的说可以删除edites文件的末尾不完整的记录。)
之后重新启动hadoop,虽然可以起来,但是依然挂了部分机器。
查看日至,依旧是报错内存不够。
然后修改bin/hadoop脚本
将:JAVA_HEAP_MAX=-Xmx1000m
改为:JAVA_HEAP_MAX=-Xmx2046m
然后重启hadoop,ok。
之后,用hadoop fsck检测损坏的文件,
该部分具体方法见:http://blog.csdn.net/liangliyin/article/details/5872172
这样基本上差不多了。
分享到:
相关推荐
以下是一些关于Namenode启动失败的常见原因、解决方案和预防措施。 **1. fsimage文件丢失或损坏** fsimage文件是Namenode在启动时加载的初始命名空间镜像,包含了HDFS的所有文件和目录结构。如果这个文件丢失或损坏...
HDFS 中 NameNode 节点的配置、备份和恢复 ...HDFS 中 NameNode 节点的配置、备份和恢复是非常重要的, SecondaryNameNode 节点的配置和备份策略可以有效地减少 NameNode 节点的启动时间,并确保 HDFS 集群的高可用性。
Hadoop datanode重新加载失败无法启动解决 本文将详细讲解Hadoop datanode重新加载失败无法启动解决的知识点,主要包括datanode加载失败的原因、解决方法和步骤。 知识点1: datanode加载失败的原因 datanode加载...
在启动服务之前,我们需要格式化 Namenode,使用命令 ${HADOOP_HOME}/bin/hdfs namenode -format -clusterid [clusterID]。然后,在某个 Namenode 上执行 ${HADOOP_HOME}/sbin/,启动服务。 高可用性 在这个部署...
Namenode并不持久化存储数据块的位置信息,而是依赖Datanode在系统启动时报告其存储的块信息。当客户端需要访问文件时,Namenode会提供文件的块位置信息,客户端据此与相应的Datanode进行交互。 Datanodes是HDFS的...
解决方法:NameNode启动时,首先进入安全模式,如果DataNode丢失的block达到一定的比例(1-dfs.safemode.threshold.pct),则系统一直处于安全模式状态,即只读状态。可以通过dfsadmin -safemode leave命令强制离开...
如果启动后发现NameNode进程未启动,检查是否已执行初始化操作。如果DataNode进程未启动或出现多个DataNode进程,可能是由于在DataNode的临时文件目录下存在旧的ID信息。解决方法有两种:一是手动修改DataNode和...
当namenode启动时,会按照以下流程进行工作: 1. 如果是第一次启动,它会格式化HDFS并创建FSImage文件以及Edits日志文件。 2. 如果不是首次启动,则会加载编辑日志文件和FSImage文件到内存。 3. 客户端会向namenode...
如果集群上的三个服务器时间不一致,可能会导致 Zookeeper 无法启动。解决方法是设置服务器的时间同步。 HBase 问题 在启动 HBase 时,需要在 master 节点上执行所有命令,命令是 `bin/hbase-daemon.sh start ...
解决方法是删除 NameNode 和 DataNode 的文件系统路径,然后重新格式化分布式文件系统。 java.io.IOException: Could not obtain block java.io.IOException: Could not obtain block 是 Hadoop 中的常见问题,...
这个错误通常意味着系统在尝试启动Hadoop服务时,无法找到配置中定义的HDFS名称节点用户(HDFS_NAMENODE_USER),因此导致启动操作失败,数据节点(Datanodes)无法正常启动。 Hadoop是Apache开源项目的一个关键...
**步骤七:在 slave1 上启动 resourcemanager 和 namenode 进程** 在其他节点上启动备用资源管理器和 NameNode 进程,以实现 HA。 **步骤八:启动 MapReduce 任务历史服务器** JobHistoryServer 记录 MapReduce ...
* Namenode未启动:检查 Namenode 配置文件,检查 Namenode 进程状态 * Datanode未启动:检查 Datanode 配置文件,检查 Datanode 进程状态 * JobTracker未启动:检查 JobTracker 配置文件,检查 JobTracker 进程状态...
4. **启动Datanodes和Namenode**:运行`start-dfs.cmd`启动Hadoop分布式文件系统(HDFS)。这将启动NameNode和DataNode进程。 5. **启动YARN**:如果需要运行MapReduce任务,还需要启动YARN资源管理器。运行`start-...
在本文中,我们将深入探讨如何管理和使用Hadoop集群,包括其启动、关闭、监控以及解决常见问题的方法。Hadoop是一个开源分布式计算框架,主要用于处理和存储海量数据。它由两个主要组件构成:HDFS(Hadoop ...
因此,在系统重启后,Namenode的相关格式化信息会丢失,导致Namenode无法启动。 **解决方法**: 1. **创建新的临时文件目录**:在用户的主目录下创建一个新的目录作为Hadoop的临时文件存放地,例如`mkdir ~/hadoop...
在分布式计算领域,Hadoop是一个不可或缺的关键组件,它为大数据处理提供了高效、可扩展的解决方案。本文将深入探讨如何通过自定义脚本来实现Hadoop集群的一键启动、关闭功能,以及涉及的相关技术。 Hadoop是Apache...
如果 NameNode 发生故障,整个集群将无法使用,直到 NameNode 重新启动。此外,NameNode 的升级和维护也将导致集群不可用。因此,高可用性对生产环境的重要性不言而喻。 HDFS 高可用性(HA)功能: HDFS 的 HA ...
- 再次启动原主节点的`namenode`服务,确保其正确地作为备用节点运行。 ```shell hadoop-daemon.sh start namenode ``` - 通过访问`http://hadoop002:50070`确认其状态。 通过以上详细的步骤,可以有效地解决...