热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Hadoop2.x的HA介绍

这篇文章主要介绍的是Hadoop2.0的HA(HighAvalability高可用性),在介绍hadoop2.0的HA配置之前,本文先介绍hadoop2.0HA的基本原理和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

这篇文章主要介绍的是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

推荐阅读
  • Kylin 单节点安装
    软件环境Hadoop:2.7,3.1(sincev2.5)Hive:0.13-1.2.1HBase:1.1,2.0(sincev2.5)Spark(optional)2.3.0K ... [详细]
  • Java开发实战讲解!字节跳动三场技术面+HR面
    二、回顾整理阿里面试题基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。自我介绍JVM如何加载一个类的过程,双亲委派模型中有 ... [详细]
  • 11月26日,由中国计算机协会(CCF)主办,CCF大数据专家委员会协办,CSDN承办的Hadoop与大数据技术大会(Hadoop&BigDataTechnology ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
  • MR程序的几种提交运行模式本地模型运行1在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行-- ... [详细]
  • 前言折腾了一段时间hadoop的部署管理,写下此系列博客记录一下。为了避免各位做部署这种重复性的劳动,我已经把部署的步骤写成脚本,各位只需要按着本文把脚本执行完,整个环境基本就部署 ... [详细]
  • 我们在之前的文章中已经初步介绍了Cloudera。hadoop基础----hadoop实战(零)-----hadoop的平台版本选择从版本选择这篇文章中我们了解到除了hadoop官方版本外很多 ... [详细]
  • Azkaban(三)Azkaban的使用
    界面介绍首页有四个菜单projects:最重要的部分,创建一个工程,所有flows将在工程中运行。scheduling:显示定时任务executing:显示当前运行的任务histo ... [详细]
  • 既然HDFS是存取数据的分布式文件系统,那么对HDFS的操作,就是文件系统的基本操作,比如文件的创建、修改、删除、修改权限等,文件夹的创建、删除、重命名等。对HDFS的操作命令类似于Linux的she ... [详细]
  • 本文_大数据之非常详细Sqoop安装和基本操作
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了大数据之非常详细Sqoop安装和基本操作相关的知识,希望对你有一定的参考价值。大数据大数据之 ... [详细]
  • Zookeeper 总结与面试题汇总
    Zookeeper总结与面试题汇总,Go语言社区,Golang程序员人脉社 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • Zookeeper为分布式环境提供灵活的协调基础架构。ZooKeeper框架支持许多当今最好的工业应用程序。我们将在本章中讨论ZooKeeper的一些最显着的应用。雅虎ZooKee ... [详细]
  • 原创 | 大数据入门基础系列之ClouderaManager版本的Hive安装部署
    添加服务,一 ... [详细]
  • Hadoop之Yarn
    目录1Hadoop1.x和Hadoop2.x架构区别2Yarn概述3Yarn基本架构4Yarn工作机制5作业提交全过程6资源调度器7任务的推测执行1Hadoop1.x和Hadoo ... [详细]
author-avatar
范大少微博劳
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有