1、HDFS的应用场景
适合的应用场景:
存储非常大的文件,需要高吞吐量,对延时没有要求;
采用流式的数据访问方式,一次写入多次读写
需要高容错性
为数据存储提供所需的扩展能力
不适合的应用场景:
低延时的数据访问,对延时要求在毫秒级别的应用,不适合采用HDFS
不适合存放大量小文件
多方读写,不支持文件的任意修改
2、HDFS的架构
hdfs是一个 主/从 (mater/slave)体系架构
hdfs由四部分组成:HDFS Client、Namenode、DataNode和Secondary Namenode。
1、Client:就是客户端
文件切分。文件上传HDFS的时候,Client将文件切分成一个一个的Block,然后进行存储。
与NameNode交互,获取文件的位置信息。
与DataNode交互,读取或者写入数据。
Clinet提供一些命令来管理和访问HDFS,比如启动或者关闭HDFS。
2、NameNode:就是master,它是一个主管,管理者
管理HDFS的名称空间
管理数据块(Block)映射信息
配置副本策略
处理客户端读写请求
3、DataNode:就是Slave。NameNode下达命令,DataNode执行实际的操作。
存储实际的数据块
执行数据块的读/写操作
4、Secondary NameNode:并非NameNode的热备,当NameNode挂掉的时候,它并不能马上替换NameNode并提供服务。
辅助NameNode,分担其工作
定期合并fsimage和fsedits,并推送给NameNode
在紧急情况下,可辅助恢复NameNode
3、NameNode和DataNode作用
1、NameNode作用
NameNode在内存中保存着整个文件系统的名称空间和文件数据块的地址映射;
整个HDFS可存储的文件数受制于NameNode的内存大小。<