HDFS HA系列实验之七(NN故障转移处理)
NN是HDFS的核心,一旦破坏,hadoop整个系统将瘫痪。hadoop2.2.0提供了NN HA,提高了NN的可用性。但如果发生了NN故障转移,那么需要处理故障点。本实验主要是针对NN故障转移的几种情况的处理: 实验一:原Active NN意外挂机或JVM溢出等原因造成,但原Active NN文件系统完好 实验二:原Active NN元数据损坏或重新部署新的NN
本实验环境搭建指导: HDFS HA系列实验之二:HA+JournalNode+zookeeper 本实验相关的hadoop配置文件下载(HA+JN+ZK+proxy)
: 根据上面相关资料重新配置HA+JournalNode+zookeeper环境,并格式化后启动,然后使用物理机192.168.100.111(机器名wyy)作为客户端来访问集群。 [hadoop@product202 ~]$ /app/hadoop/zookeeper345/bin/zkServer.sh start [hadoop@product202 ~]$ /app/hadoop/hadoop220/sbin/hadoop-daemon.sh start journalnode [hadoop@product203 ~]$ /app/hadoop/zookeeper345/bin/zkServer.sh start [hadoop@product203 ~]$ /app/hadoop/hadoop220/sbin/hadoop-daemon.sh start journalnode [hadoop@product204 ~]$ /app/hadoop/zookeeper345/bin/zkServer.sh start [hadoop@product204 ~]$ /app/hadoop/hadoop220/sbin/hadoop-daemon.sh start journalnode
[hadoop@product201 ~]$ cd /app/hadoop/hadoop220/ [hadoop@product201 hadoop220]$ bin/hdfs namenode -format [hadoop@product201 hadoop220]$ bin/hdfs zkfc -formatZK [hadoop@product201 hadoop220]$ sbin/hadoop-daemon.sh start zkfc [hadoop@product202 ~]$ cd /app/hadoop/hadoop220/ [hadoop@product202 hadoop220]$ sbin/hadoop-daemon.sh start zkfc [hadoop@product201 hadoop220]$ sbin/hadoop-daemon.sh start namenode [hadoop@product202 hadoop220]$ bin/hdfs namenode -bootstrapStandby [hadoop@product202 hadoop220]$ sbin/hadoop-daemon.sh start namenode [hadoop@product201 hadoop220]$ sbin/hadoop-daemons.sh start datanode
1:实验一 客户端通过http://product201:50070可以发现product201处于active状态 客户端通过http://product202:50070可以发现product202处于standby状态
重启product201(因为没有zookeeper和JN进程在跑,可以直接重新启动来模拟机器故障),这时: 客户端通过http://product201:50070已经无法访问 客户端通过http://product202:50070可以发现product202处于active状态 此时文件操作正常
启动product201的NN守护进程 [hadoop@product201 hadoop220]$ sbin/hadoop-daemon.sh start zkfc [hadoop@product201 hadoop220]$ sbin/hadoop-daemon.sh start namenode 客户端通过http://product201:50070可以发现product201处于standby状态 客户端通过http://product202:50070可以发现product202处于active状态 此时文件操作正常
在product202上kill DFSZKFailoverController进程和namenode进程,模拟product202故障, [hadoop@product202 hadoop220]$ jps 2374 NameNode 2472 JournalNode 2558 DFSZKFailoverController 2930 Jps 1706 QuorumPeerMain [hadoop@product202 hadoop220]$ kill 2374 [hadoop@product202 hadoop220]$ kill 2558 [hadoop@product202 hadoop220]$ jps 2472 JournalNode 2998 Jps 1706 QuorumPeerMain 这时: 客户端通过http://product201:50070可以发现product201处于active状态 客户端通过http://product202:50070已经无法访问
在客户端上传文件 hadoop@wyy:/app/hadoop/hadoop220$ bin/hdfs dfs -put /home/mmicky/data/demo.txt /test/. hadoop@wyy:/app/hadoop/hadoop220$ bin/hdfs dfs -ls /test Found 4 items -rw-r--r--3 hadoop supergroup258570165 2014-02-23 15:21 /test/2013.txt -rw-r--r--3 hadoop supergroup25721132 2014-02-23 15:28 /test/IP.txt -rw-r--r--3 hadoop supergroup7118627 2014-02-23 16:42 /test/access_log.txt -rw-r--r--3 hadoop supergroup1572 2014-02-23 17:07 /test/demo.txt 然后重启product202 [hadoop@product202 hadoop220]$ sbin/hadoop-daemon.sh start zkfc [hadoop@product202 hadoop220]$ sbin/hadoop-daemon.sh start namenode [hadoop@product202 hadoop220]$ bin/hdfs haadmin -failover nn1 nn2 客户端通过http://product201:50070可以发现product201处于standby状态 客户端通过http://product202:50070可以发现product202处于active状态 可以发现客户端新上传的文件在product202中可以浏览。
2:实验二 在product201处于standby之后重启,然后删除hadoop的数据文件来模拟实验环境。 [hadoop@product201 hadoop220]$ rm -rf mydata logs [hadoop@product201 hadoop220]$ sbin/hadoop-daemon.sh start zkfc [hadoop@product201 hadoop220]$ bin/hdfs namenode -bootstrapStandby [hadoop@product201 hadoop220]$ sbin/hadoop-daemon.sh start namenode 客户端通过http://product201:50070可以发现product201处于standby状态 客户端通过http://product202:50070可以发现product202处于active状态 [hadoop@product201 hadoop220]$ bin/hdfs haadmin -failover nn2 nn1 将product201切换成active NN后,通过http://product201:50070可以浏览HDFS中的文件。
TIPS: bin/hdfs namenode -bootstrapStandby只是在最初同步元数据的时候使用
推荐阅读
- 【欢喜是你·三宅系列①】⑶
- 你不可不知的真相系列之科学
- 【学生作品】温暖的记忆
- 人脸识别|【人脸识别系列】| 实现自动化妆
- 2018-06-13金句系列7(金句结构-改编古现代诗词)
- Unity和Android通信系列文章2——扩展UnityPlayerActivity
- 乡野村趣系列之烧仙草
- 实验室女王从0到1亿的1001天创业日记第62天
- Java内存泄漏分析系列之二(jstack生成的Thread|Java内存泄漏分析系列之二:jstack生成的Thread Dump日志结构解析)
- 15、IDEA学习系列之其他设置(生成javadoc、缓存和索引的清理等)