首页 > 代码库 > 【TODO】模拟namenode崩溃并恢复
【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.IOException: NameNode is not formated。
同时,查看hdfs上的目录及文件情况,ls后发现报错
5、关闭hadoop,重新格式化namenode
6、进入namenode节点的上dfs.name.dir 指定目录(即 name 目录),发现已经生成了新的内容。编辑current中的VERSION。将namespaceID的值改为集群中任一datanode中的namespaceID(即原来的值)
7、删除current中新生成的fsimage
8、将secondarynamenode的fsimage拷贝过来。
注意:我拷贝的是namesecondary/image/目录下的。网上有资料说是namesecondary/current下的,但我的current中并没有内容。
9、启动hadoop
10、启动完毕发现一切正常了。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。