通过secondary namenode恢复崩溃的namenode

模拟namenode崩溃,将name目录的内容全部删除,然后通过secondary namenode恢复namenode。

环境:OS:Centos 6.5 x64 & Soft:Hadoop 1.2.1

1、进入name目录下,删除name目录内容。

[[email protected] name]$ pwd
/home/huser/hadoop/tmp/dfs/name

[[email protected] name]$ ll
drwxrwxr-x 2 huser huser 4096 4月 16 20:16
current
drwxrwxr-x 2 huser huser 4096 4月 16 17:24 image
-rw-rw-r-- 1 huser
huser 0 4月 16 20:10 in_use.lock
drwxrwxr-x 2 huser huser 4096 4月 16 18:55
previous.checkpoint

[[email protected] name]$ rm -R *
[[email protected] name]$ ls

2、停止集群,然后重启集群,发现nameNode失败。

[[email protected] hadoop-1.2.1]$ bin/stop-all.sh

[[email protected] hadoop-1.2.1]$ bin/start-all.sh 
[[email protected]
hadoop-1.2.1]$ jps
7160 SecondaryNameNode
7229 JobTracker
7369 Jps

3、停止集群格式化namenode。

[[email protected] hadoop-1.2.1]$ bin/stop-all.sh

[[email protected] hadoop-1.2.1]$ bin/hadoop namenode -format
14/04/16 21:17:39
INFO namenode.NameNode: STARTUP_MSG:

/************************************************************
STARTUP_MSG:
Starting NameNode
STARTUP_MSG: host = master/192.168.1.115
STARTUP_MSG:
args = [-format]
STARTUP_MSG: version = 1.2.1
STARTUP_MSG: build =
https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152;
compiled by ‘mattf‘ on Mon Jul 22 15:23:09 PDT 2013
STARTUP_MSG: java =
1.7.0_51
************************************************************/
Re-format
filesystem in /home/huser/hadoop/tmp/dfs/name ? (Y or N) Y
14/04/16 21:17:42
INFO util.GSet: Computing capacity for map BlocksMap
14/04/16 21:17:42 INFO
util.GSet: VM type = 64-bit
14/04/16 21:17:42 INFO util.GSet: 2.0% max
memory = 1013645312
14/04/16 21:17:42 INFO util.GSet: capacity = 2^21 =
2097152 entries
14/04/16 21:17:42 INFO util.GSet: recommended=2097152,
actual=2097152
14/04/16 21:17:43 INFO namenode.FSNamesystem:
fsOwner=huser
14/04/16 21:17:43 INFO namenode.FSNamesystem:
supergroup=supergroup
14/04/16 21:17:43 INFO namenode.FSNamesystem:
isPermissionEnabled=true
14/04/16 21:17:43 INFO namenode.FSNamesystem:
dfs.block.invalidate.limit=100
14/04/16 21:17:43 INFO namenode.FSNamesystem:
isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s),
accessTokenLifetime=0 min(s)
14/04/16 21:17:43 INFO namenode.FSEditLog:
dfs.namenode.edits.toleration.length = 0
14/04/16 21:17:43 INFO
namenode.NameNode: Caching file names occuring more than 10 times
14/04/16
21:17:43 INFO common.Storage: Image file
/home/huser/hadoop/tmp/dfs/name/current/fsimage of size 111 bytes saved in 0
seconds.
14/04/16 21:17:43 INFO namenode.FSEditLog: closing edit log:
position=4, editlog=/home/huser/hadoop/tmp/dfs/name/current/edits
14/04/16
21:17:43 INFO namenode.FSEditLog: close success: truncate to 4,
editlog=/home/huser/hadoop/tmp/dfs/name/current/edits
14/04/16 21:17:44 INFO
common.Storage: Storage directory /home/huser/hadoop/tmp/dfs/name has been
successfully formatted.
14/04/16 21:17:44 INFO namenode.NameNode:
SHUTDOWN_MSG:

/************************************************************
SHUTDOWN_MSG:
Shutting down NameNode at
master/192.168.1.115
************************************************************/

4、从datanode节点获取namespace的ID。

[[email protected] hadoop-1.2.1]$ ssh slave1

[[email protected] current]$ pwd
/home/huser/hadoop/tmp/dfs/data/current

[[email protected] current]$ ll
-rw-rw-r-- 1 huser huser 49184 4月 16 18:43
blk_-1800088935645150399
-rw-rw-r-- 1 huser huser 395 4月 16 18:43
blk_-1800088935645150399_1013.meta
-rw-rw-r-- 1 huser huser 25 4月 16
18:43 blk_269963827714855400
-rw-rw-r-- 1 huser huser 11 4月 16 18:43
blk_269963827714855400_1014.meta
-rw-rw-r-- 1 huser huser 16353 4月 16 18:43
blk_4611281727215307463
-rw-rw-r-- 1 huser huser 135 4月 16 18:43
blk_4611281727215307463_1015.meta
-rw-rw-r-- 1 huser huser 769 4月 16 19:32
dncp_block_verification.log.curr
-rw-rw-r-- 1 huser huser 158 4月 16 19:51
VERSION

[[email protected] current]$ cat VERSION
#Wed Apr 16 19:51:23 CST
2014
namespaceID=589801292
storageID=DS-1065963269-192.168.1.111-50010-1397640950581
cTime=0
storageType=DATA_NODE
layoutVersion=-41

5、修改namenode的VERSION文件中namespaceID。

[[email protected] current]$ exit
logout

[[email protected] current]$ pwd
/home/huser/hadoop/tmp/dfs/name/current

[[email protected] current]$ vi VERSION
#Wed Apr 16 21:17:43 CST
2014
namespaceID=589801292
cTime=0
storageType=NAME_NODE
layoutVersion=-41

6、删除namenode节点下的fsinage文件。

[[email protected] current]$ rm fsimage
[[email protected] current]$
ll
-rw-rw-r-- 1 huser huser 4 4月 16 21:17 edits
-rw-rw-r-- 1 huser
huser 8 4月 16 21:17 fstime
-rw-rw-r-- 1 huser huser 100 4月 16 21:30
VERSION

7、复制secondarynamenode节点的fsimage文件到namenode节点下。

[[email protected] current]$
pwd
/home/huser/hadoop/tmp/dfs/namesecondary/current
[[email protected]
current]$ ll
-rw-rw-r-- 1 huser huser 4 4月 16 20:16 edits
-rw-rw-r-- 1
huser huser 2259 4月 16 20:16 fsimage
-rw-rw-r-- 1 huser huser 8 4月 16
20:16 fstime
-rw-rw-r-- 1 huser huser 100 4月 16 20:16 VERSION

[[email protected] current]$ cp fsimage
/home/huser/hadoop/tmp/dfs/name/current/

[[email protected] current]$ cd
/home/huser/hadoop/tmp/dfs/name/current/
[[email protected] current]$
ll
-rw-rw-r-- 1 huser huser 4 4月 16 21:17 edits
-rw-rw-r-- 1 huser
huser 2259 4月 16 21:37 fsimage
-rw-rw-r-- 1 huser huser 8 4月 16 21:17
fstime
-rw-rw-r-- 1 huser huser 100 4月 16 21:30 VERSION

8、重启集群并检查运行情况。

[[email protected] hadoop-1.2.1]$ jps
7927 SecondaryNameNode
7773
NameNode
8017 JobTracker
8123 Jps

通过secondary namenode恢复崩溃的namenode,布布扣,bubuko.com

时间: 2024-10-10 00:16:54

通过secondary namenode恢复崩溃的namenode的相关文章

namenode无法启动(namenode格式化失败)

格式化namenode [email protected] bin]# sudo -u hdfs hdfs namenode –format 16/11/14 10:56:51 INFO namenode.NameNode: STARTUP_MSG: /************************************************************ STARTUP_MSG: Starting NameNode STARTUP_MSG: host = node04/172.

Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured.

在搭建Hadoop集群的时候,遇到了这样的一个报错. 就在启动HDFS调用命令: start-dfs.sh 的时候,报错: 然后输密码就一直很奇怪,反正一直运行不成功. 百度了半天,确定是core-site.xml的问题. 这段代码决定了什么namenode 的rpcaddress: <property> <name>fs.defaultFS</name> <value> hdfs://hdp-node-01:9000 </value> <

hadoop集群无法启动namenode: ERROR namenode.NameNode: Failed to start namenode.

我查看了网上的原因,把core.site.xml里的以下配置复制到了hdfs.site.xml里,三台机器都要复制,复制完以后在重新启动hadoop集群,嗯~~~启动了一个nn,还有一个nn没有起来,然后如果你也另一个namenode没有起来请看我另一篇文章吧!!!https://www.cnblogs.com/xuziyu/p/10665176.html <!--指定hadoop临时目录, hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它.如果hdfs-si

【TODO】模拟namenode崩溃并恢复

TODO: 还有没搞清楚的地方. 1.为了方便演示,先做好namenode检查点的配置.见控制namenode检查点发生的频率. 2.启动hadoop,保证所有节点都正常. 3.将namenode节点上dfs.name.dir 指定目录(即 name 目录)中的内容全部删除,以模拟故障发生情况. 4.关闭hadoop,jps查看,发现namenode没有启动成功. 查看namenode节点的$HADOOOP_HOME/logs/目录下namenode的日志,发现异常:java.io.IOExce

Hadoop介绍-4.Hadoop中NameNode、DataNode、Secondary、NameNode、JobTracker TaskTracker

Hadoop是一个能够对大量数据进行分布式处理的软体框架,实现了Google的MapReduce编程模型和框架,能够把应用程式分割成许多的 小的工作单元,并把这些单元放到任何集群节点上执行.在MapReduce中,一个准备提交执行的应用程式称为「作业(job)」,而从一个作业划分出 得.运行于各个计算节点的工作单元称为「任务(task)」.此外,Hadoop提供的分布式文件系统(HDFS)主要负责各个节点的数据存储,并实现了 高吞吐率的数据读写. 在分布式存储和分布式计算方面,Hadoop都是用

Secondary NameNode究竟是做什么的

Secondary NameNode:它究竟有什么作用? 在hadoop中,有一些命名不好的模块,Secondary NameNode是其中之一.从它的名字上看,它给人的感觉就像是NameNode的备份.但它实际上却不是.很多Hadoop的初学者都很疑惑,Secondary NameNode究竟是做什么的,而且它为什么会出现在HDFS中.因此,在这篇文章中,我想要解释下Secondary NameNode在HDFS中所扮演的角色. 从它的名字来看,你可能认为它跟NameNode有点关系.没错,你

Secondary NameNode

在Hadoop中,有一些命名不好的模块,Secondary NameNode是其中之一.从它的名字上看,它给人的感觉就像是NameNode的备份.但它实际上却不是.HDFS集群有两类节点以管理者和工作者的工作模式运行,namenode就是其中的管理者.它管理着文件系统的命名空间,维护着文件系统树及整棵树的所有文件和目录.这些信息以两个文件的形式保存于内存或者磁盘,这两个文件是:命名空间镜像文件fsimage和编辑日志文件edit logs ,同时namenode也记录着每个文件中各个块所在的数据

Secondary NameNode 的作用

https://blog.csdn.net/xh16319/article/details/31375197 很多人都认为,Secondary NameNode是NameNode的备份,是为了防止NameNode的单点失败的,其实并不是这样. Secondary NameNode:它究竟有什么作用? 在Hadoop中,有一些命名不好的模块,Secondary NameNode是其中之一.从它的名字上看,它给人的感觉就像是NameNode的备份.但它实际上却不是.很多Hadoop的初学者都很疑惑,

解读Secondary NameNode的功能

1.概述 最近有朋友问我Secondary NameNode的作用,是不是NameNode的备份?是不是为了防止NameNode的单点问题?确实,刚接触Hadoop,从字面上看,很容易会把 Secondary NameNode当作备份节点:其实,这是一个误区,我们不能从字面来理解,阅读官方文档,我们可以知道,其实并不是这么回事,下面就来赘述下 Secondary NameNode的作用. 2.Secondary NameNode? 在Hadoop中,有一些命名模块不那么尽人意,Secondary