Hadoop之HDFS认识篇
2017-08-21 14:33
281 查看
前言:
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodityhardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS介绍
HDFS为了做到可靠性创建了多份数据块的复制,并将它们放置在服务器群的计算机节点中,MapReduce就可以在它们所在的节点上处理这些数据了。通俗说就是,HDFS给一份数据备份了多份放在多个磁盘中,如果其中一个磁盘的数据丢失,那么也不会影响数据,详细见下图:
HDFS结构
主要由三大部分组成:NameNode(NN)、SecondaryNameNode(SNN)和DataNodes(DN)。NameNode:
① 存储元数据;
② 元数据保存在内存中;
③ 保存文件,block,datanode之间的映射关系。
DataNodes:
① 存储文件内容;
② 文件内容保存在磁盘;
③ 维护了block id到datanode本地文件的映射关系。
HDFS架构
架构图如下所示:主要功能介绍:
1、 NameNode(NN)
NameNode主要功能:接受客户端的读写服务;NameNode保存metadate信息包括:
文件owership和permissons;
文件包含哪些块;
Block保存在哪个DataNode(又DataNode启动时上报);
metadata存储到磁盘文件名为“fsimage”;
Block的位置信息不会保存到fsimage;
edits记录对metadata的操作日志
2、SecondaryNameNode(SNN)
它不是NN的备份(但可以做备份),它的主要工作是帮组NN合并edits log,减少NN启动时间;SNN执行合并时机:
根据配置文件设置的时间间隔fs.checkpoint.priod 默认3600秒;
根据配置文件设置edits log大小fs,checkpoint.size规定edits文件的最大值默认是64MB。
3、 DataNode(DN)
存储数据(Block);启动DN线程的时候会向NN汇报block信息;
通过想NN发送心跳保持与其联系(3秒一次),如果NN 10分钟没有收到DN的心跳,则认为其已经lost,并copy骑上的block到其他DN上去。
4、Block的副本放置策略
第一个副本:放置在上传文件的DN;如果是集群外提交,则随机挑选一台磁盘不太满,CPU不太忙的节点。第二个副本:放置在于第一个副本不同的机架节点上。
第三个副本:与第二副本相同机架的节点。
更多副本:随机节点。
SNN合并流程
建议:把SNN和NN放在不同的服务器上。HDFS读流程
具体操作如下图所示:HDFS写流程
具体操作如下图所示:ack:确认字符,表示发来的数据已确认接收无误。
详细见百度百科:https://baike.baidu.com/item/ACK/3692629?fr=aladdin
相关文章推荐
- Hadoop概要-HDFS的认识
- Hadoop之HDFS初步认识(一)
- 快速在Window本地运行hadoop(包括hadoop的hdfs,mapreduce)
- hadoop之 解析HDFS的写文件流程
- 【Hadoop】HDFS的运行原理
- hadoop+hbase+zookeeper 分布式集群搭建 + eclipse远程连接hdfs 完美运行
- Hadoop中HDFS的存储机制
- java 从hadoop hdfs读取文件 进行groupby并显示为条形图
- 【Hadoop入门学习系列之二】HDFS架构和编程
- Hadoop HDFS概念学习系列之hadoop里dfs和fs的区别(二十三)
- Hadoop HDFS NFS GateWay部署深入详解
- Hadoop系列之六:分布式文件系统HDFS
- hadoop put内部调用,hdfs写文件流程
- 使用JDK中的类URL访问HDFS(来自吴超Hadoop)
- Hadoop-2.6.0分布式单机环境搭建HDFS讲解Mapreduce示例
- 【HDFS】hadoop的机架感知策略是啥?
- 大数据Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解
- [Hadoop] HDFS分布式文件系统设计详解
- hadoop入门级总结一:HDFS
- Hadoop核心架构体系(HDFS+MapReduce+Hbase+Hive+Yarn)