cdh4b1之HDFS的HA(High Availability)原理简介
来源:互联网 发布:mysql like 特殊字符 编辑:程序博客网 时间:2024/06/05 18:22
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管理
- cdh4b1之HDFS的HA(High Availability)原理简介
- cdh4b1之HDFS的HA(High Availability)原理简介
- HA(High Availability)简介
- 使用NFS实现HA(HDFS High Availability With NFS)
- VMware中High Availability (HA),的含义
- Configuring HDFS High Availability
- HDFS High Availability
- HDFS NameNode HA框架设计文档(HDFS-1623:High Availability Framework for HDFS NN)
- HDFS NameNode HA框架设计文档(HDFS-1623:High Availability Framework for HDFS NN)
- HDFS利用QJM实现HA(HDFS High Availability Using the Quorum Journal Manager)
- 构建OpenStack的高可用性(HA,High Availability)
- 构建OpenStack的高可用性(HA,High Availability) .
- 构建OpenStack的高可用性(HA,High Availability)
- 构建OpenStack的高可用性(HA,High Availability)
- 构建OpenStack的高可用性(HA,High Availability) .
- 构建OpenStack的高可用性(HA,High Availability)
- Hadoop2的HA安装(high availability):JournalNode+ zookeeper
- 构建OpenStack的高可用性(HA,High Availability)
- 十道海量数据处理面试题与十个方法大总结
- AVL树基本原理
- 线程函数的设计以及线程同步要点(MsgWaitForMultipleObjects等)
- yii 用到的链接方式
- Android 查看内存
- cdh4b1之HDFS的HA(High Availability)原理简介
- FileChannel Force
- 几种bug管理工具比较
- WEB ADI模版中相关栏位LOV的创建
- 多线程编程之二——MFC中的多线程开发
- 关于数据挖掘
- Android中Intent中如何传递对象
- Linux中通过/proc/stat等文件计算Cpu使用率
- mfc多线程编程之三——线程间通讯