cdh4b1之HDFS的HA(High Availability)原理简介
?
0?引入
?????????以前Hadoop版本中,NameNode是HDFS集群的单点故障(single point of failure,SPoF),SPoF指系统中这个部件失效或停止运转将会导致整个系统不能工作。而这在下面两种情况出现:
???????? (1)?意外事件如机器crash,集群直到重启NameNode操作执行后才可用;
???????? (2)?计划维修事件,如NameNode上的软硬件升级会导致NameNode一段宕机时间。
???????? HDFS HA提供在一个集群中配置两台冗余NN来解决上述问题,是一种双机热备。这可以在NN崩溃时快速的故障恢复,同时在自发管理的计划维修时快速失效备援。当前hadoop版本是hadoop-0.23.0-cdh4b1
???????? HA主要机制是:两个单独机器运行NN,在所有时刻只有一台出于active状态,而另外一台出于standby状态。active NN负责客户端对集群的所有操作,而Standby NN作为从设备只是保存足够的状态来进行快速的故障恢复。
?
?
HA总体流程图
???????? Block location:?为了快速failover,standby NN必须知道这个的相关信息。为了达到此目的,所有DN上都配置了此两个NN,并且发送block location和heartbeat到两个NN上。
?????????至关重要的一点:只有一个Active NN.两个NN都是active即所谓脑裂情景(split-brain scenario),因此管理员必须设置一个对共享存储的fencing method(绝缘方法),当不能确定前Active NN不会自己重新变成active时,需要切断其对共享存储的访问权限,如此便能使新active NN安全的故障恢复。
???????? standby NN也执行namespace的状态检查,因此HA集群不需要运行Secondary NN, Checkpoint Node, Backup Node。
?
下面是详细的配置安装,请参见CDH4_High_Availability_Guide_b1.pdf。cloudera 官网有http://www.cloudera.com/.或者在我资源里下载看(免费):http://download.csdn.net/detail/liuxingjiaofu/4238395
1?软硬件配置1.1硬件配置
(1)NN机器,两台配置相同的机器来运行active和?standby NN,?并且这两台机器的配置和用non-HA集群时?NN的配置相同。
(2)两个NN都有读写权限的共享存储:多路径到存储,自身的冗余(disk, network, power)。鉴于上面这些,推荐共享存储服务器用高级专用的网络连接式存储(NAS)设备,而非简单的LinuxServer。
1.2?软件配置
NamesService ID
NameNode ID
2 HA部署3 HA管理
更多信息请查看?java进阶网?http://www.javady.com