首页 / HADOOP / Hadoop2.x的HA介绍
Hadoop2.x的HA介绍
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Hadoop2.x的HA介绍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3387字,纯文字阅读大概需要5分钟。
内容图文
![Hadoop2.x的HA介绍](/upload/InfoBanner/zyjiaocheng/532/95e889139f03490b8f2a9afb03c184cd.jpg)
这篇文章主要介绍的是Hadoop2.0的HA(High Avalability 高可用性),在介绍hadoop2.0的HA配置之前,本文先介绍hadoop2.0 HA的基本原理和2种方式。 1.概述 在Hadoop2.0之前,NameNode只有一个,存在单点问题(虽然Hadoop1.0有SecondaryNameNode,checkPointNode
这篇文章主要介绍的是Hadoop2.0的HA(High Avalability 高可用性),在介绍hadoop2.0的HA配置之前,本文先介绍hadoop2.0 HA的基本原理和2种方式。
1.概述
在Hadoop2.0之前,NameNode只有一个,存在单点问题(虽然Hadoop1.0有SecondaryNameNode,checkPointNode、buckcupnode这些,但是单点问题依然存在),在hadoop2.0引入了HA机制。Hadoop2.0的HA机制官方介绍了有2种方式,一种是NFS(Net Work File System)方式,另外一种是QJM(Quorum Journal Manager)方式。
2.基本原理
Hadoop2.0的HA机制有两个NameNode,一个是active NameNode,状态是active;另外一个是standby NameNode,状态是standby。两者的状态是可以切换的,但不能同时都是active状态,最多只有1个是active状态。只有active NameNode提供对外的服务,standby NameNode是不对外服务的。active NameNode和standby NameNode之间通过NFS或者JN(journalnode QJM方式)来同步。
active NameNode会把最近的操作记录写到本地一个edits文件中(edits file),并传输到NFS或者JN中。standby NameNode定期检查,从NFS或者JN把最近的edits文件读过来,然后把edits文件和fsimage文件合并成一个新的fsimage,合并之后会通知active NameNode获取这个新的fsimage。active NameNode获得这个新的fsimage文件之后,替换原来旧的fsimage文件。
这样,就保持了active NameNode和standby NameNode的数据的实时同步,standby NameNode可以随时切换成active NameNode(比如active NameNode挂了)。而且还有一个原来hadoop1.0的SecondaryNameNode,checkpoint,buckcupnode的功能;合并edits文件和fsimage,使fsimage文件一直保持更新。所以启动了hadoop2.0的HA机制之后,SecondaryNameNode,checkpointnode,buckcupnode这些都不需要了。
3.NFS方式
NFS作为active NameNode和standby NameNode之间数据共享的存储。active NameNode会把最近的edits文件写到NFS,而standby NameNode从NFS中把数据读过来。这个方式的缺点是,如果active NameNode或者standby NameNode有一个和NFS之间网络有问题的话,则会造成他们之前数据的同步出问题。
4.QJM(Quorum Journal Manager)方式
QJM的方式可以解决上述NFS容错机制不足的问题。active NameNode和standby NameNode之间是通过一组journalNode(数量是奇数,可以是3,5,7,...2n+1)来共享数据。active NameNode把最近的edits文件写到2n+1个journalnode上,只要有n+1个写入成功的话就表示写入操作成功了,然后standby NameNode就可以从journalnode上读取了。可以看到,QJM方式由容错机制,可以容忍n个journalNode的失败。
5.主备节点的切换
active NameNode和standby NameNode可以随时切换。当active NameNode挂掉后,也可以把standby NameNode切换成active状态,称为active NameNode。可以人工切换和自动切换。人工切换时通过执行HA管理的命令来改变NameNode的状态,从standby到active,或者从active到standby。自动切换则在active NameNode挂掉的时候,standby NameNode自动切换成active状态,取代原来的active NameNode称为新的active NameNode,HDFS继续正常工作。
主备节点的自动切换需要配置Zookeeper。active NameNode和standby NameNode把他们的状态实时记录到Zookeeper中,Zookeeper监视他们的状态变化。当Zookeeper发现active NameNode挂掉后,会自动把standby NameNode切换成active NameNode。
6.实战tips
1):QJM方式有明显的优点,一是本身就有fencing的功能,而是通过多个journal节点增强了系统的健壮性,所以建议在生产环境中采用QJM的方式。
2):journalnode消耗的资源很少,不需要额外的机器专门来启动journalnode,可以从hadoop集群中选几台机器作为journalnode。
原文来自:http://www.linuxidc.com/Linux/2014-05/101174.htm
内容总结
以上是互联网集市为您收集整理的Hadoop2.x的HA介绍全部内容,希望文章能够帮你解决Hadoop2.x的HA介绍所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。