存储技术
HDFS(HadoopDistributedFileSystem),是一个适合运行在通用硬件(commodityhardware)上的分布式文件系统,是Hadoop的核心子项目,是基于流数据模式访问和处理超大文件的需求而开发的。该系统仿效了谷歌文件系统(GFS),是GFS的一个简化和开源版本。
HDFS的主要架构
HDFSClient(客户端):从NameNode获取文件的位置信息,再从DataNode读取或者写入数据。此外,client在数据存储时,负责文件的分割;
NameNode(元数据节点):管理名称空间、数据块(Block)映射信息、配置副本策略、处理客户端读写请求;
DataNode(存储节点):负责执行实际的读写操作,存储实际的数据块,同一个数据块会被存储在多个DataNode上
SecondaryNameNode:定期合并元数据,推送给NameNode,在紧急情况下,可辅助NameNode的HA恢复。
HDFS的特点(VsGFS)
分块更大,每个数据块默认128MB;
不支持并发,同一时刻只允许一个写入者或追加者;
过程一致性,写入数据的传输顺序与最终写入顺序一致;
MasterHA,2.X版本支持两个NameNode,(分别处于Active和Standby状态),故障切换时间一般几十秒到数分钟
HDFS适合的应用场景:
适用于大文件、大数据处理,处理数据达到GB、TB、甚至PB级别的数据。
适合流式文件访问,一次写入,多次读取。
文件一旦写入不能修改,只能追加。
HDFS不适合的场景:
低延时数据访问。
小文件存储
并发写入、文件随机修改
责任编辑人:CC
全部0条评论
快来发表一下你的评论吧 !