HDFS学习笔记2 -- 关于Secondary NameNode, Checkpoint Node, Backup Node和High Availability (HA)
2014-04-21 23:12
811 查看
上篇介绍提到,NameNode主要通过EditLog和FsImage两个文件来维护整个集群的namespace。在NameNode启动时,合并两个文件并更新FsImage,并将EditLog清空,启动后只需要实时更新EditLog文件。如果集群庞大且操作十分密集的话,会使EditLog非常肥大,从而导致下次启动时合并两个文件需要花上很长时间。
对于上术问题,HDFS通过有下面几种方式解决。
Secondary NameNode
通过在另外一台机器上配置Secondary NameNode,周期性地合并FsImage和EditLog来控制EditLog的大小。主要有两个参数配置参数:
・dfs.namenode.checkpoint.period 默认每个一小时建立一个检查点
・dfs.namenode.checkpoint.txns 默认每100万条记录强制建立一个检查点
Checkpoint Node
配置Checkpoint Node和Secondary NameNode类似,是后者的替代方式,不同之处在于它周期性地将NameNode的FsImage和EditLog下载到本地合并,然后把合并的结果上传回namenode。一个NameNode可以同时配置多个Checkpoint Node。
Backup Node
Backup Node同样可以提供上述Checkpoint的功能,同事维持一份和NameNode同步的内存映射。即其接收NameNode的EditLog,同时还将其内容更新至自己的内存,相当于做了一个namespace的备份。
Backup Node因为是时刻与NameNode同步的,所以它不需要从NameNode下载FsImage和EditLog,只需要定期地把本机上的FsImage和EditLog保存即可。
对于每个NameNode,目前只允许配置一个Backup Node。而且利用Backup node模式就不允许登录CheckPoint Node了。
HDFS High Availability
在Hadoop2.0之前,每个集群只能有一个NameNode,如果它出现问题会导致整个集群瘫痪掉。因此NameNode需要有一定的冗余,通常配置成Active/Standby,在Active失效的时候能马上无缝切换至standby机上。现阶段Active/Standby直接的同步有两种方式:
JournalNodes(JNs)伺服方式:ActiveNode持续地将EditLog写入到JournalNode伺服进程,而StandbyNode则能够实时监视并从中读取相关内容进行同步。JournalNodes只允许一个NameNode进行写入操作,如果Active失效,Standby将自动获得写入权。
shared NFS directory方式:通过挂接一个两者都拥有读写权限的共享文件夹的方式进行同步。Active一方不断将EditLog写入该文件夹,而Standby则监视该文件同时同步到自己的namesapce中。
对于上术问题,HDFS通过有下面几种方式解决。
Secondary NameNode
通过在另外一台机器上配置Secondary NameNode,周期性地合并FsImage和EditLog来控制EditLog的大小。主要有两个参数配置参数:
・dfs.namenode.checkpoint.period 默认每个一小时建立一个检查点
・dfs.namenode.checkpoint.txns 默认每100万条记录强制建立一个检查点
Checkpoint Node
配置Checkpoint Node和Secondary NameNode类似,是后者的替代方式,不同之处在于它周期性地将NameNode的FsImage和EditLog下载到本地合并,然后把合并的结果上传回namenode。一个NameNode可以同时配置多个Checkpoint Node。
Backup Node
Backup Node同样可以提供上述Checkpoint的功能,同事维持一份和NameNode同步的内存映射。即其接收NameNode的EditLog,同时还将其内容更新至自己的内存,相当于做了一个namespace的备份。
Backup Node因为是时刻与NameNode同步的,所以它不需要从NameNode下载FsImage和EditLog,只需要定期地把本机上的FsImage和EditLog保存即可。
对于每个NameNode,目前只允许配置一个Backup Node。而且利用Backup node模式就不允许登录CheckPoint Node了。
HDFS High Availability
在Hadoop2.0之前,每个集群只能有一个NameNode,如果它出现问题会导致整个集群瘫痪掉。因此NameNode需要有一定的冗余,通常配置成Active/Standby,在Active失效的时候能马上无缝切换至standby机上。现阶段Active/Standby直接的同步有两种方式:
JournalNodes(JNs)伺服方式:ActiveNode持续地将EditLog写入到JournalNode伺服进程,而StandbyNode则能够实时监视并从中读取相关内容进行同步。JournalNodes只允许一个NameNode进行写入操作,如果Active失效,Standby将自动获得写入权。
shared NFS directory方式:通过挂接一个两者都拥有读写权限的共享文件夹的方式进行同步。Active一方不断将EditLog写入该文件夹,而Standby则监视该文件同时同步到自己的namesapce中。
相关文章推荐
- Secondary NameNode,Checkpoint Node,Backup Node,HDFS HA
- Hadoop-2.4.1学习之SecondaryNameNode、CheckpointNode、BackupNode
- 浅谈Hadoop NameNode、SecondaryNameNode、CheckPoint Node和BackupNode
- 浅析SecondaryNameNode,CheckpointNode,BackupNode,HA,Federation
- HDFS使用Backup Node、Checkpoint Node以及Standby Namenode进行checkpoint的机制详解
- ERROR org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Exception in doCheckpoint
- hdfs haadmin使用,DataNode动态上下线,NameNode状态切换管理,数据块的balance,HA下hdfs-api变化(来自学习资料)
- 浅析Hadoop Secondary NameNode,CheckPoint Node,Backup Node
- 浅析Hadoop Secondary NameNode,CheckPoint Node,Backup Node
- hdfs中的NameNode,SecondaryNameNode,BackupNode
- 浅析Hadoop Secondary NameNode,CheckPoint Node,Backup Node
- bug:ERROR org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode: Exception in doCheckpoint
- Spring学习笔记 关于spring 2.x中dependency-check标签与Spring3中的实现方式
- HDFS中NameNode和Secondary NameNode
- HDFS:NameNode、DataNode、SecondaryNameNode
- 第117讲:Hadoop集群之安装IP配置、Slaves、namenode和secondarynamenode的配置学习笔记
- Hadoop 学习笔记 (九) hadoop2.2.0 生产环境部署 HDFS HA部署方法
- restore hadoop primary namenode from secondary namenode checkpoint step by step
- HDFS:NameNode、DataNode、SecondaryNameNode
- HDFS:NameNode、DataNode、SecondaryNameNode