Hadoop存储系统:高可用性、ZooKeeper与快照机制解析
1. HDFS基本操作与文件元数据保护
在HDFS操作中,我们可以注意到文件属性和所有者之间有一个新列,它代表文件的复制因子。执行以下命令可查看文件末尾内容:
$ hdfs dfs -tail testdir/testfile.txt
Hello world
大部分dfs子命令都很直观,可自行探索。
文件系统元数据的保护至关重要,因为fsimage文件对文件系统来说是极其关键的,其丢失会导致灾难性故障。在Hadoop 1中,NameNode是单点故障,最佳实践是配置NameNode将fsimage和edits文件同步写入本地存储以及远程文件系统(通常是NFS)的至少一个其他位置。这样,在NameNode故障时,可以使用最新的文件系统元数据副本启动替代的NameNode,但该过程需要大量手动干预,并且会导致集群在一段时间内完全不可用。
Secondary NameNode并非用于救援,它只是负责定期读取fsimage和edits文件的最新版本,并应用未完成的编辑来创建新的最新fsimage。在繁忙的集群中,这个检查点可以通过减少NameNode在为客户端提供服务之前需要应用的编辑数量,显著加快其重启速度。在Hadoop 2中,命名更加清晰,有执行以前Secondary NameNode角色的Checkpoint节点,以及保留本地最新文件系统元数据副本的Backup NameNodes,但将Backup节点提升为主NameNode仍然是一个多阶段的手动过程。
超级会员免费看
订阅专栏 解锁全文
1635

被折叠的 条评论
为什么被折叠?



