在hadoop生态系统中,我们有NameNode和SecondaryNameNode,NameNode负责管理在集群中所有可用的数据,所以我的问题是,当NameNode出现故障的生态系统如何更换,并与其他恢复它NameNode?
这里有两件事要考虑,
1- Recovery through SecondaryNameNode
2- Recovery through redundant NameNode
Run Code Online (Sandbox Code Playgroud)
在hadoop-1.x我们持有的NameNode的元数据的副本上SecondaryNameNode概念.如果您的NameNode出现故障,您可以使用SecondaryNameNode存储的元数据副本,并在NameNode再次启动后使用它来恢复您的工作.
有了hadoop-2.x(HA)你可以有超过1周的NameNode.如果主NameNode关闭,冗余NameNode可以接管,以便您的群集不会停止工作(手动或自动).在此实现中,在活动/备用配置中存在一对NameNode.如果活动名称节点失败,备用数据库将接管其职责以继续为客户端请求提供服务.
为了利用HA功能,您应该在HA模式下运行NameNodes,其中包含法定数量的日记节点或编辑日志事务文件的共享HA-NFS存储.我建议你仔细阅读这些能够很好地解释恢复机制的帖子:
2- http://blog.cloudera.com/blog/2012/10/quorum-based-journaling-in-cdh4-1/
3- http://blog.cloudera.com/blog/2012/03/high-availability-for-the-hadoop-distributed-file-system-hdfs/
但如果您使用的是hadoop-1.x,最好有两个独立的位置来存储NameNode元数据(机器本身上有一个驱动器+ 1个NAS).
HTH
| 归档时间: |
|
| 查看次数: |
4756 次 |
| 最近记录: |