hdfs的理解

hdfs(hadoop分布式系统)设计需要考虑的问题?

第一个就是数据是如何存储吗(数据的物理存储)

每台机器上都有个datanode节点。这个节点是用来存储数据的。

hdfs对一个大的文件进行分块,每个版本对每一个分块大小可能不尽相同。Hadoop 1版本默认是64M,

假设80M东西,就被分成64M和16M东西。那么他是按照这样的格式来划分的。每个快是分散存储的。可能这个快64M是在这个datonode,另外一块16是在另外一台datanode上。

第二个就是数据的安全(数据的丢失)

分布式系统通常都有备份,一个80M东西,可能64M东西有好几份,16M的东西有好几份。它们备份东西,几个DataNode节点可以相互通信,相互备份,然后告诉NameNode有几份,即使某台datanode,坏了,数据依然能够有备份。

第三个就是数据的访问(客户端和服务器端的通信)

客户端是如何和分布式系统之间进行通信的。

在开启分布式服务的是后续,会有3个进程,一个进程是DataNode,一个是NameNode,另外一个是Secondarynamede

client        --------步骤1(RPC通信)----->Namenode

DataNode1               DataNode2                   DataNode3

服务器要去读取文件,首先他和NameNode通信,NameNode里面包含元数据。它进行相应的检查,然后它告诉客户端去找那个DataNode,通过流的方式来读写,读完之后,关闭流。

SecondaryNameNode是一个冷备份。它是一个对Namenode进行备份的东西,Namenode崩溃了,整个分布式系统就完了,必须有补救措施。

SecondaryNameNode是怎么样补救NameNODE?

首先namenode元数据信息是保存在内存中的,掉电容易丢失,所以他必须相办法保存到磁盘上,怎么保存呢,就是通过序列化机制来实现从内存写到磁盘。这个序列化的镜像文件名称就是fsimage文件。

client       -->上出文件(发出请求信息)----> namenode

<-(查询文件有没有,权限够不够,然后要在那个datanode,返回给client。

|

|

|向datanode写信息。

datanode1      datanode2     datanode3

client开始向datanode上写信息了,同时namenode中有个edits文件开始记录信息,不管你写成功(文件名称是什么?存放那台datanode上,快大小),还是失败,它都会记录一条日志数据信息。紧接着namenode中的metadata开始也多了一条数据描述信息。此时写完之后,并没有同步到fsimage(因为他不是及时同步的)假设一个月之前向hdfs上传了2个文件,secondary进过一定的条件会进行合并(有的是edits文件大小,或者超过一定时间尽心合并一次),一个月了,已经合并了很多次了,同步。此时内存中的metadata应该保存了2份描述信息。fsimage里面有2条描述信息(已经同步了),edits文件现在没有了信息,因为一点metadata合并到fsimage信息,edits文件就会被清空。现在client又开始向hdfs上传一个文件,此时,edits中有1个,内存中的metadata变成了3条信息,fsimage还是2条信息,此时metadata和fsimage不同步。当满足一定条件时,secondaryNameNode开始工作了。它通过http协议向namenode下载fsimage和edits文件,namenode生成一个新的editsnew文件(切换),如果此时有文件来进行读写,它将记录保存在editsnew文件中去,secondary将fsimage和edits文件合并生成新的fsimage,将fsimage回传给namenode,namenode将其就得fsimage和edits文件删除掉,用editsnew文件替换edits文件,这样数据又可以同步了。

分布式文件系统适用于一次写入,多次查询的,不支持并发写情况。小文件不合适。

时间: 2024-11-06 10:26:10

hdfs的理解的相关文章

Hadoop学习之路(九)HDFS深入理解

HDFS的优点和缺点 HDFS的优点 1.可构建在廉价机器上 通过多副本提高可靠性,提供了容错和恢复机制 服务器节点的宕机是常态   必须理性对象 2.高容错性 数据自动保存多个副本,副本丢失后,自动恢复 HDFS的核心设计思想:  分散均匀存储 + 备份冗余存储 3.适合批处理 移动计算而非数据,数据位置暴露给计算框架 海量数据的计算 任务 最终是一定要被切分成很多的小任务进行 4.适合大数据处理 GB.TB.甚至 PB 级数据,百万规模以上的文件数量,10K+节点规模 5.流式文件访问 一次

小记---------Hadoop读、写文件步骤,HDFS架构理解

Hadoop 是一个开源框架,可编写和运行分布式应用处理大规模数据 Hadoop框架的核心是HDFS 和 MapReduce HDFS是分布式文件系统(存储) MapReduce是分布式数据处理模型和执行环境(计算) 作者:Doug Cutting Hadoop特点 扩容能力 能可靠地存储和处理千兆字节(PB)数据 成本低 可以通过普通机器组成的服务器群来分布以及处理数据,服务器群总计可达数千个节点 高效率(有待验证) 通过分发数据,hadoop可以在数据所在的节点上并行地处理他们.使得处理速度

零基础学习hadoop到上手工作线路指导(中级篇)

此篇是在零基础学习hadoop到上手工作线路指导(初级篇)的基础,一个继续总结. 五一假期:在写点内容,也算是总结.上面我们会了基本的编程,我们需要对hadoop有一个更深的理解: hadoop分为hadoop1.X.hadoop2.X,并且还有hadoop生态系统.这里只能慢慢介绍了.一口也吃不成胖子. hadoop 1.x分为 mapreduce与hdfs其中mapreduce是很多人都需要迈过去的槛,它比较难以理解,我们有时候即使写出了mapreduce程序,但是还是摸不着头脑. 我们不知

零基础学习hadoop到上手工作线路指导初级篇:hive及mapreduce

此篇是在零基础学习hadoop到上手工作线路指导(初级篇)的基础,一个继续总结.五一假期:在写点内容,也算是总结.上面我们会了基本的编程,我们需要对hadoop有一个更深的理解:hadoop分为hadoop1.X.hadoop2.X,并且还有hadoop生态系统.这里只能慢慢介绍了.一口也吃不成胖子. hadoop 1.x分为mapreduce与hdfs 其中mapreduce是很多人都需要迈过去的槛,它比较难以理解,我们有时候即使写出了mapreduce程序,但是还是摸不着头脑.我们不知道ke

Hadoop新手学习指导之hadoop核心知识学习

上篇(Hadoop新手学习指导之入门需知)我们介绍了新手学习hadoop的入门注意事项.这篇来谈谈hadoop核心知识学习. hadoop核心知识学习: hadoop分为hadoop1.X和hadoop2.X,并且还有hadoop生态系统.这里只能慢慢介绍了.一口也吃不成胖子. 那么下面我们以hadoop2.x为例进行详细介绍: Hadoop的核心是mapreduce和hdfs. Mapreduce:mapreduce是很多人都需要迈过去的槛,它比较难以理解,我们有时候即使写出了mapreduc

Hadoop 2.x伪分布式环境搭建测试

Hadoop 2.x伪分布式环境搭建测试 标签(空格分隔): hadoop hadoop,spark,kafka交流群:459898801 1,搭建hadoop所需环境 卸载open JDK rpm -qa |grep java rpm -e –nodeps [java] 1.1,在/opt/目录下创建四个目录: modules/ software/ datas/ tools/ 解压hadoop-2.5.0及jdk-7u67-linux-x64.tar.gz至modules目录下. $tar -

大数据Hadoop核心知识入门学习注意事项

今天来介绍新手学习hadoop的入门注意事项.这篇文章一来谈谈hadoop核心知识学习. 首先hadoop分为hadoop1.X和hadoop2.X,并且还有hadoop生态系统,那么下面我们以hadoop2.x为例进行详细介绍: Hadoop的核心是mapreduce和hdfs. Mapreduce:mapreduce是很多人都需要迈过去的槛,它比较难以理解,我们有时候即使写出了mapreduce程序,但是还是摸不着头脑.我们都知道mapreduce是一种编程模型,那么它能干什么,对我有什么用

大数据思考

1.前言 记得从上大学的时候就已经听说过这个词语 以前的理解可能就是数据量超大很多嘛 到这几年大数据这个词语被人们谈论得也越来越频繁 也越来越想了解它的所以自己才会去学习 我觉得做任何事之前肯定有某种驱使你去了解它的过程 以下仅是自己个人的理解 2.什么是大数据? 大数据不仅是数据量大 (G,TB,PB.....)达到甚至更大 ,试想一下我给你一个数据量达到TB级别的数据 但是里面的数据都是一些你看不懂或者没有什么可用的信息的 那它也不过是一个数据量很大的文件而已(仅此而已没有什么可以提供的价值

2本Hadoop技术内幕电子书百度网盘下载:深入理解MapReduce架构设计与实现原理、深入解析Hadoop Common和HDFS架构设计与实现原理

这是我收集的两本关于Hadoop的书,高清PDF版,在此和大家分享: 1.<Hadoop技术内幕:深入理解MapReduce架构设计与实现原理>董西成 著  机械工业出版社2013年5月出版 2.<Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理>蔡斌.陈湘萍 著  机械工业出版社2013年4月出版 百度网盘下载地址: http://pan.baidu.com/s/1sjNmkFj