这篇文章给大家分享的是有关HDFS设计基础与目标是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
设计基础:
(1)由于硬件错误是常态。因此需要冗余。
(2)流式数据访问,即数据批量读取,而非随机读取。hadoop擅长做的是数据分析而不是事务处理。
(3)大规模数据集
(4)简单一致性模型。为了降低系统复杂度,对文件采取一次性写多次读的逻辑设计,即是文件一经写入,关闭后,就再也不能修改。
(5)程序采用“数据就近”原则分配节点执行。
体系结构:
hdfs采用主从结构,Namenode属于主端,Datanode属于从端。
Namenode:
1) 管理文件系统的命名空间。
2) 记录每个文件数据块在Datanode上的位置和副本信息。
3) 协调客户端对文件的访问。
4) 记录命名空间内的改动或者空间本身属性的改动。
5) Namenode使用事务日志记录HDFS元数据的变化。使用映像文件存储文件系统的命名空间,包括文件映射、文件属性等。
从社会学的角度看,Namenode是HDFS的管理者,发挥管理、协调、操控的作用。
Datanode:
1) 负责所在物理节点的存储管理。
2) 一次写入,多次读取,不能修改。
3) 文件由数据库组成,一般情况下,数据块的大小为64MB。
4) 数据尽量散布到各个节点。
从社会学的角度看,Datanode是HDFS的工作者,发挥着按照Namenode的命令干活,并且把干活的进展和问题反馈到Namenode的作用。
SecondaryNameNode:
1) HA的一个解决方案。但不支持热备。配置即可。
2) 执行过程:从NameNode上下载元数据信息(fsimage,edits),然后把二者合并,生成新的fsimage,在本地保存,并将其推送到NameNode,同时重置NameNode的edits.
3) 默认在安装在NameNode节点上,但这样...不安全!
可靠性:
(1)冗余副本策略
(2)机架策略
(3)心跳机制
(4)安全模式
(5)校验和
(6)回收站
(7)元数据保护
(8)快照机制
感谢各位的阅读!关于“HDFS设计基础与目标是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。