HDFS--笔记

HDFS的简介
分布式的文件系统,基于流数据模式访问和处理超大文件的分布式文件系统


Hadoop Distributed File System




HDFS的优点
处理超大文件
流数据访问
运行廉价的商用服务器上


HDFS的缺点
无法高效存储大量的小文件(元数据信息增大会造成NameNode的压力增大)
不适合处理低延迟的数据访问
不支持多用户对同一个文件的写入
不支持任意的修改


HDFS的特点
高容错性,三个副本,
可扩展和配置性(可以任意增加节点)
夸平台
机架感知
负载均衡
shell命令接口
安全模式(不允许写,监测数据块,不允许执行JOB)


HDFS的核心设计
数据块(Block):数据以块固定大小的方式进行存储,128M
数据复制:以块来进行复制,可以配置复制因子 默认是3个
数据副本的存放策略:
分布存储在不同的节点上
每个数据块保存默认是3个副本
同一个数据的三个副本的存放
第一个副本存在离客户端近的机架上的某一台节点上
第二个副本存在相邻或者另外一个机架上的某一台节点上
机架感知
心跳机制:从节点通过NodeManager 向主节点ResourceManager每隔3秒钟发送心跳数据(从节点的cup 内存 磁盘等等资源使用情况)
ResourceManager在心跳的返回值中分配任务和指令给从节点的NodeManager




HDFS的体系结构
主从架构
Master/Slave
NameNode(元数据管理和存放)
SecondaryNameNode(辅助NameNode将edit和fsimage文件进行合并,生成新的fsimage,然后将文件返回给NameNode)
DataNode 从节点,用来存放数据的

Write:向HDFS写入文件
客户端-------》ResourceManager
NameNode  DataNode
Client-----》NameNode (提供blockId的列表)
Client-----》DataNode

Read:向HDFS读取文件
Client-----》ResourceManager
NameNode  DataNode
Client-----》NameNode(文件的名字...)
Clinet-----》DataNode
HDFS的设计目标
监测故障和快速恢复
大规模数据集的处理
流式数据访问
简化一致性模型,一次写入,多次读取
移动计算要比移动数据的代价要低
在异构的平台上可以移植
通信协议是基于tcpip的ipc rpc协议







posted @ 2016-11-29 10:23  Beeman_xia  阅读(132)  评论(0编辑  收藏  举报