Hadoop Journal Node 作用

转载 2016年06月30日 11:27:26

hadoop2.2.0(HA)的 NameNode之间共享数据 的两种方式:(NFS(Nnetwork File System)、Quorum Journal Node(用得多))   

两个NameNode为了数据同步,会通过一组称作JournalNodes的独立进程进行相互通信。

当active状态的NameNode的命名空间有任何修改时,会告知大部分的JournalNodes进程。standby状态的NameNode有能力读取JNs中的变更信息,并且一直监控edit log的变化,把变化应用于自己的命名空间。standby可以确保在集群出错时,命名空间状态已经完全同步了。


Hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作。在hadoop1时代,只有一个NameNode。如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了。这是hadoop1中的单点问题,也是hadoop1不可靠的表现,如图1所示。hadoop2就解决了这个问题。

image

图1 

hadoop2.2.0(HA)中HDFS的高可靠指的是可以同时启动2个NameNode。其中一个处于工作状态,另一个处于随时待命状态。这样,当一个NameNode所在的服务器宕机时,可以在数据不丢失的情况下,手工或者自动切换到另一个NameNode提供服务。 

这些NameNode之间通过共享数据,保证数据的状态一致。多个NameNode之间共享数据,可以通过Nnetwork File System或者Quorum Journal Node前者是通过linux共享的文件系统,属于操作系统的配置;后者是hadoop自身的东西,属于软件的配置

我们这里讲述使用Quorum Journal Node的配置方式,方式是手工切换。 

集群启动时,可以同时启动2个NameNode。这些NameNode只有一个是active的,另一个属于standby状态。active状态意味着提供服务,standby状态意味着处于休眠状态,只进行数据同步,时刻准备着提供服务,如图2所示。

image

图2 

架构 

在一个典型的HA集群中,每个NameNode是一台独立的服务器。在任一时刻,只有一个NameNode处于active状态,另一个处于standby状态。其中,active状态的NameNode负责所有的客户端操作,standby状态的NameNode处于从属地位,维护着数据状态,随时准备切换。 

两个NameNode为了数据同步,会通过一组称作JournalNodes的独立进程进行相互通信。当active状态的NameNode的命名空间有任何修改时,会告知大部分的JournalNodes进程。standby状态的NameNode有能力读取JNs中的变更信息,并且一直监控edit log的变化,把变化应用于自己的命名空间。standby可以确保在集群出错时,命名空间状态已经完全同步了,如图3所示。

image

图3 

为了确保快速切换,standby状态的NameNode有必要知道集群中所有数据块的位置。为了做到这点,所有的datanodes必须配置两个NameNode的地址,发送数据块位置信息和心跳给他们两个。 

对于HA集群而言,确保同一时刻只有一个NameNode处于active状态是至关重要的。否则,两个NameNode的数据状态就会产生分歧,可能丢失数据,或者产生错误的结果。为了保证这点,JNs必须确保同一时刻只有一个NameNode可以向自己写数据。 

硬件资源 

为了部署HA集群,应该准备以下事情:

* NameNode服务器:运行NameNode的服务器应该有相同的硬件配置。

* JournalNode服务器:运行的JournalNode进程非常轻量,可以部署在其他的服务器上。注意:必须允许至少3个节点。当然可以运行更多,但是必须是奇数个,如3、5、7、9个等等。当运行N个节点时,系统可以容忍至少(N-1)/2(N至少为3)个节点失败而不影响正常运行。 

在HA集群中,standby状态的NameNode可以完成checkpoint操作,因此没必要配置Secondary NameNode、CheckpointNode、BackupNode。如果真的配置了,还会报错。

相关文章推荐

YARN源码分析(四)-----Journalnode

前言最近在排查公司Hadoop集群性能问题时,发现Hadoop集群整体处理速度非常缓慢,平时只需要跑几十分钟的任务时间一下子上张到了个把小时,起初怀疑是网络原因,后来证明的确是有一部分这块的原因,但是...

Hadoop高可用集群(HA+JournalNode+zookeeper)

谁能给我十台机器玩一玩啊!!! 一、一些名词介绍 HA(High Available), 高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点。 ZK...
  • Dr_Guo
  • Dr_Guo
  • 2016年03月20日 22:36
  • 4496

Hadoop Journal Node 作用

转自:https://my.oschina.net/u/189445/blog/661561 NameNode之间共享数据(NFS 、Quorum Journal Node(用得多)) ...

HDFS HA与QJM(Quorum Journal Manager)介绍及官网内容整理

问题导读 1.HDFS HA与QJM解决了什么问题? 2.HDFS HA与QJM区别是什么? 3.在HA(两个namenode)架构下,如何访问hdfs文件? ...

Hadoop Journal Node 作用

hadoop重启报journal node not format

hadoop HA----Quorum Journal 设计

本文是hadoop HA 方案Quorum Journal设计的翻译。原文参考这个链接中的附件:https://issues.apache.org/jira/browse/HDFS-3077 ...
  • albani
  • albani
  • 2012年11月17日 22:12
  • 2698

hadoop2.7配置HA,使用zk和journal

本文使用前提:从noha到ha 机器分配: nn1 namenode,DFSZKFailoverController nn2 namenode,DFSZKFailoverControlle...

HDFS HA系列实验之二:HA+JournalNode+zookeeper

1:原理图 A:NN1、NN2(或者更多个NN节点)只有一个是Active状态,通过自带ZKFailoverController组件(zookeeper客户端)和zookeeper集群协同对所有NN节...

手动增加Journal Node节点

以hadoop用户执行以下操作: 1.修改etc/hadoop/hdfs-site.xml,在dfs.namenode.shared.edits.dir 配置项中增加相应的新的journal的地址和...

ambari增加journalnode服务节点

ambari默认3个journalnode节点,但是如果一个节点出现问题,需要增加补充,ambari界面没有操作的选项,所以只能通过其他命令方式操作, 看到之前有个文章是将HA降级,之后重新做HA,这...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hadoop Journal Node 作用
举报原因:
原因补充:

(最多只允许输入30个字)