1.Hadoop的构成
(1)分布式存储系统HDFS
提供了高可靠性,高扩展性和高吞吐率的数据存储服务
(2)资源管理系统YARN
负责集群资源的统一管理和调度
(3)分布式计算框架
具有易于编程,高容错性和高扩展性等优点
2.HDFS
运行在硬件上的分布式文件系统
包括:NameNode,DataNode,Client
(1)NameNode
用于存储生成文件系统的元数据
(2)DataNode
用于存储实际的数据,将自己管理的数据块上报给NameNode
(3)Client
支持业务访问HDFS,从NameNode,DataNode获取数据返回给业务
3.HDFS架构原则
(1)元数据与数据分离
文件本身的属性(即元数据)与文件所持有的数据分离
(2)主/从架构
一个HDFS集群是由一个NameNode和一定数目的DataNode组成
(3)一次写入多次读取
HDFS中的文件在任何时间只能有一个Writer,当文件被创建接着写入数据,最后一旦文件被关闭,就不能再修改。
(4)移动计算比移动数据更划算
数据运算,越靠近数据,执行运算的性能就越好,由于hdfs数据分布在不同的机器上,要让网络的消耗最低,并提高系统的吞吐量,最佳方式是将运算的执行移到离它要处理的数据更近的地方,而不是移动数据
4.HDFS的优点
(1)高容错性
数据自动保存多个副本
副本丢失后自动恢复
(2)适合批处理
移动计算而不是数据
(3)适合大数据处理
GB,TB,甚至PB级数据
(4)流式文件访问
一次性写入,多次读取,批量读取而不是随机读写
保证数据的一致性
(5)可构建在廉价的机器上
通过多副本提高可靠性
提供了容错和恢复机制
5.HDFS的缺点
(1)不适合低延迟数据访问
(2)无法高效存储大量的小文件
(3)不允许多用户访问即任意修改文件。一个文件只能有一个写者,仅支持append.