HDFS设计(Architecture)
原因:为了平衡数据的可靠性和写操作的花费
方法:默认副本数为3;
- 第一个副本在Client所处的节点上,若客户端在集群外,随机选一个;
- 第二个副本在另一个机架的随机一个节点
- 第三个副本在第二个副本所在机架的随机节点
注:NameNode不允许DataNode有两个相同的块,所以最大副本数量可根据DataNode数量决定。
存储对一每一个文件系统元数据做出的改变
整个文件系统名称空间,包括块与文件的映射,文件系统属性
背景:若每对文件做一次更改就写入到磁盘的FsImage中,会占用大量资源
解决方法:
启动时,从EditLog和FsImage中将名称空间与块映射读取到内存,将来自EditLog的所有事务写入到FsImage在内存中的代表,然后一起写入到磁盘上新的FsImage中,然后就可以截断老的EditLog。这个过程就称为检查点。
检查点在指定时间间隔或指定数量事务后触发。
心跳机制告诉了namenode,namenode跟踪哪些块需要被再拷贝然后开始行动。
客户端程序实现了checksum机制,当创建Hdfs文件时,会计算checksum,并存储在相同的Hdfs名称空间(就是Hdfs的同一个文件夹下),据此获得完整数据
高可用性(HA) ,启用多个NameNode
面试重点,我还没学到😁
后面的感觉不太重要,详情可参看官网
Original: https://www.cnblogs.com/pitaya01/p/15571626.html
Author: somelovelanguage
Title: HDFS简介
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/603267/
转载文章受原作者版权保护。转载请注明原作者出处!