在hadoop
生态系统中,我们有NameNode
和SecondaryNameNode
,NameNode
负责管理群集中的所有可用数据,所以我的问题是NameNode
何时去了解生态系统如何替换并使用其他NameNode
恢复它?
答案 0 :(得分:5)
这里有两件事需要考虑,
1- Recovery through SecondaryNameNode
2- Recovery through redundant NameNode
在hadoop-1.x
中,我们在SecondaryNameNode上有一个概念,它包含NameNode元数据的副本。如果您的NameNode出现故障,您可以使用SecondaryNameNode存储的元数据副本,并在NameNode再次启动后使用它来恢复您的工作。
使用hadoop-2.x(HA)
,您可以拥有多个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