Hadoop HDFS

产生背景:分布式文件管理系统,源自于Google的GFS(Goole File System)论文,GFS的开源克隆版

重点:分布式,易扩展(增加机器来增加存储量,多副本)

HDFS架构

1.master(主节点 NameNode/NN)和多个salve(副节点 DataNode/DN)

一个文件按照一定规则拆分成多个Block (一般为128M为一块)

NN:(1)负责客户端请求的响应

      (2)负责元数据的管理【名称,副本系数,Block存放的DN】

DN:(1)存储用户的文件队形的数据块(Block)

      (2)定期向NN发送信息,汇报其本身和所有Block,状态

经典部署:NameNode+N个DataNode

副本存放策略:本Rack(机架)放置一个,另一机架放置在不同节点分别放置(不作要求总共为3份)

优点:

    数据冗余,硬件容错(block,多副本)

    适合批处理

    处理流式的数据访问

    适合存储大文件

    可构建在廉价机器

缺点:

    不适合低延迟的数据访问

    不适合小文件存储

    并发写入、文件随机修改(只支持append追加)

组成结构:

    Client:客户端用户程序

                    切分文件成数据块

                    与NameNode交互,获取文件的位置信息

                    与DataNode交互,读取对应数据块

                    管理和访问HDFS

    NameNode(Master):集群管理者,负责者

                                        管理HDFS名称空间

                                        管理数据块的映射关系

                                        配合副本策略

                                        客户端的读写请求

    SecondaryNameNode:辅助NameNode

                                                分担工作量

                                                定期合并image镜像文件和edits日志文件,并推送给NameNode

                                                紧急情况恢复NameNode

    DataNode(Slave):实际存储数据

                                    存储实际的数据块

                                    执行数据块的读写操作 

解决NameNode单点故障:

    namdNode(active)与nameNode(standby(备用))数据的共享存储(zoookeeper解决两者之间同步问题)

    jnNode(日志,镜像文件(fsimage))

    zoookeeper接收nameNode的心跳,调控nameNode接替工作

    HA架构扩展nameNode

你可能感兴趣的:(Hadoop HDFS)