博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDFS原理分析(一)—— 基本概念
阅读量:5742 次
发布时间:2019-06-18

本文共 1067 字,大约阅读时间需要 3 分钟。

hot3.png

HDFS是Hadoop Distribute File System 的简称,也就是Hadoop的一个分布式文件系统。

一、HDFS的主要设计理念

1、存储超大文件

    这里的“超大文件”是指几百MB、GB甚至TB级别的文件。

2、最高效的访问模式是 一次写入、多次读取(流式数据访问)

    HDFS存储的数据集作为hadoop的分析对象。在数据集生成后,长时间在此数据集上进行各种分析。每次分析都将设计该数据集的大部分数据甚至全部数据,因此读取整个数据集的时间延迟比读取第一条记录的时间延迟更重要。

3、运行在普通廉价的服务器上

HDFS设计理念之一就是让它能运行在普通的硬件之上,即便硬件出现故障,也可以通过容错策略来保证数据的高可用。

二、HDFS的忌讳

1、将HDFS用于对数据访问要求低延迟的场景

    由于HDFS是为高数据吞吐量应用而设计的,必然以高延迟为代价。

2、存储大量小文件

    HDFS中元数据(文件的基本信息)存储在namenode的内存中,而namenode为单点,小文件数量大到一定程度,namenode内存就吃不消了。

三、HDFS基本概念

数据块(block):大文件会被分割成多个block进行存储,block大小默认为64MB。每一个block会在多个datanode上存储多份副本,默认是3份。

namenode:namenode负责管理文件目录、文件和block的对应关系以及block和datanode的对应关系。

datanode:datanode就负责存储了,当然大部分容错机制都是在datanode上实现的。

四、HDFS基本架构图

图中有几个概念需要介绍一下

Rack 是指机柜的意思,一个block的三个副本通常会保存到两个或者两个以上的机柜中(当然是机柜中的服务器),这样做的目的是做防灾容错,因为发生一个机柜掉电或者一个机柜的交换机挂了的概率还是蛮高的。

五、HDFS写文件流程

思考:

    在datanode执行create file后,namenode采用什么策略给client分配datanode?

    顺序写入三个datanode,写入过程中有一个datanode挂掉了,如何容错?

    client往datanode写入数据时挂掉了,怎么容错?

六、HDFS读文件流程

思考:namenode挂掉了怎么办,这个时候HDFS是否有相应的容错方案。

下一篇:namenode高可用方案之Avatar Node

转载于:https://my.oschina.net/shiw019/blog/92771

你可能感兴趣的文章
hive_0.11中文用户手册
查看>>
hiveserver2修改线程数
查看>>
XML教程
查看>>
oracle体系结构
查看>>
J2音乐房
查看>>
Microsoft Exchange Server 2010与Office 365混合部署升级到Exchange Server 2016混合部署汇总...
查看>>
Proxy服务器配置_Squid
查看>>
开启“无线网络”,提示:请启动windows零配置wzc服务
查看>>
【SDN】Openflow协议中对LLDP算法的理解--如何判断非OF区域的存在
查看>>
纯DIV+CSS简单实现Tab选项卡左右切换效果
查看>>
栈(一)
查看>>
姑娘你大胆地往前走——答大二学生XCL之八问
查看>>
UVA196
查看>>
ios 自定义delegate(一)
查看>>
创建美国地区的appleId
查看>>
例题10-2 UVa12169 Disgruntled Judge(拓展欧几里德)
查看>>
[c语言]c语言中的内存分配[转]
查看>>
JS 原生ajax写法
查看>>
day 10 字符编码和文件处理 细节整理
查看>>
如何打造亚秒级加载的网页1——前端性能
查看>>