记录一次小小的namenode挂掉

6 篇文章 1 订阅
4 篇文章 0 订阅

为了演示SecondaryNameNode是如何恢复namenode的

第一步 当然是直接用法kill -9 NameNode进程号意外结束namenode进程

在这里插入图片描述

第二步. 进入namenode里面的/home/whzy/hadoopdata/dfs/name

这个目录 rm -rf name/* 删除name里面所有数据 表示namenode数据丢失
在这里插入图片描述

第三步 进入salve1主机(里面配置了secondarynamenode) 进入

ome/whzy/hadoopdata/dfs/namesecondary 这个目录 将其下的current目录 通过scp命令远程拷贝到master的name目录

在这里插入图片描述

第四步 启动master 里面的 namenode
hadoop-daemon.sh start namenode 

启动单进程 jps之后正常启动
在这里插入图片描述

第五步 检测

进入 master:50070 显示正常

在这里插入图片描述
上传in_use.lock 这个文件到hdfs 里面的/whzyB102/in_use.lock

目录下 显示上传成功
在这里插入图片描述

自此 namenode正常 Hadoop集群正常

使用-importCheckpoint命令恢复namenode

先修改配置文件

 vi hdfs-site.xml

将这些配置添加到文件末尾
意思是修改检查时间从之前的3600秒(一小时)到现在的1分钟
将namenode 这个name的目录修改成namenode的目录

<property>
  <name>dfs.namenode.checkpoint.period</name>
  <value>60</value>
  <description>The number of seconds between two periodic checkpoints.
  </description>
</property>
<property>
  <name>dfs.namenode.name.dir</name>
  <value>/home/whzy/hadoopdata/dfs/name</value>
</property>
继续一次删除namenode 进程
kill -9 31291 删除namenode进程

在这里插入图片描述

rm -rf name/* 删除NameNode存储的数据

在这里插入图片描述

如果 SecondaryNameNode 不和 NameNode 在一个主机节点上,需要将 SecondaryNameNode 存储数据的目录拷贝到 NameNode 存储数据的平级目录,并删 除 in_use.lock 文件

在这里插入图片描述
删除拷贝过来的in_use.lock文件
在这里插入图片描述
执行importCheckpoint命令

在这里插入图片描述
在执行命令的时候 重新建立一个连接 看到显示的namenode命令
其实就是命令进行时 生成的一个namenode守护进程命令结束之后namenode守护进程消失

在这里插入图片描述
等觉得命令运行的差不多了 将命令ctrl+C 结束掉
之后执行上传文件命令 文件上传成功namenode生效
在这里插入图片描述

总结

第一个方法在工作的时候用的比较多
其实更多的是用的HA 高可用 一个namenode进程挂掉之后直接换上第二个namnode进程就行

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值