最近美国东海岸飓风灾难,引发了关于灾难恢复的讨论。让我们看看Hadoop所提供的各种高可靠性选项。
为了理解HA的存在的问题,首先让我们看看Cloudera关于Apache Hadoop 高可靠性的话,这样对于
“以前在HDFS集群里,NameNode是一个单点故障(SPOF)。每一个集群都有一个NameNode,如果这台机器或者进程不可用的话,整个集群系统都不可用。故障的恢复仰仗于NameNode的重启或者另外启动一台机器。
很明显,这将降低HDFS集群的整体可用性。
1.计划之外的事件发生,例如宕机,整个集群系统不可用,直到NameNode被人为地重启。
2. 计划之内的维护事件发生,例如NameNode的软硬件升级,将导致集群系统的DownTime。
现在让我们看看可选的高可靠性配置
(1) Cloudera的Hadoop高可靠性配置:
1. 1 Quorum-based Storage 基于Quorum的存储
“基于Quorum的存贮系统指的是利用 Quorum日志管理器 (QJM)的HA高可靠性实现。
为了让Standby节点和Active节点保持同步,二者都以称为日志节点的守护程序daemons进行通讯。在出现故障转换的时候,Standby节点将在变为Active状态之前,确保它所取得所有的变化数据。这就确保了整个集群名空间在故障转换之前保持同步。
![](https://img-my.csdn.net/uploads/201211/14/1352904531_9749.png)
1. 2 Shared Storage Using NFS 基于NFS的共享存储
为了让Standby节点和Active节点保持同步,二者都可以存取一个共享的存储设备(例如NAS安装为NFS)。
以称为日志节点的守护程序daemons进行通讯。
当名空间被Acitve节点修改的时候,它同时在共享存储设备上保持了一个变化记录。Standby节点则实时守护,一旦有变化,则更新它自己的名空间。
出现故障转换的时,Standby节点将在变为Active状态之前,确保它从共享存储器获得所有的变化数据。这就确保了整个集群名空间在故障转换之前保持同步。
![](https://img-my.csdn.net/uploads/201211/14/1352905418_8601.png)
详细信息可参考 Cloudera High Availability Guide
其他方法可参考原文
(2) HortonWorks
2. 1 HortonWorks and VMware HA
![](https://img-my.csdn.net/uploads/201211/14/1352905825_6977.jpg)
2. 2 Linux HA
(3) MapR
(4) IBM
4.1 Redundancy in Hardware for Master nodes (name node, secondary name node, job tracker)
4.2 Use GPFS-SNC
![](https://img-my.csdn.net/uploads/201211/14/1352905907_4809.jpg)