HDFS的设计基础和目标:
1.硬件错误是常态,因此需要冗余
2.流式数据分析,即数据的批量读取而非随机读写,hadoop擅长做的是数据分析而不是数据处理
3.大规模数据集
4.简单一致性模型。为了降低系统复杂度,对文件采用一次性写多次读的逻辑设计,即是文件一经写入,关闭,就再也不能修改
5.程序采用‘数据就近’原则分配节点执行
Namenode
1.管理文件系统的命名空间
2.记录每个文件数据块在datanode上的位置和副本信息
3.协调客户端都文件的访问
4.记录命名空间内的改动和空间本身属性的改动
5.Namenode使用事务日志记录HDFS元数据的改动,使用映像文件存储文件系统的命名空间包括文件映射,文件关系等
Datanode
1.负责所在物理节点的存储信息
2.一次读入,不做修改
3.文件由数据块组成,典型的数据块大小为64M
4.数据块尽量散布在不同的节点
HDFS可靠性
1.冗余副本策略
2.机架侧罗
3.心跳机制
4.安全模式
5.校验和
6.回收站
7.元数据保护
8.快照机制