HDFS原理分析:基本概念(简单易懂)
来源:互联网 发布:创维28t88ht数据 编辑:程序博客网 时间:2024/06/01 18:24
HDFS原理分析:基本概念
HDFS是Hadoop Distribute File System 的简称,也就是Hadoop的一个分布式文件系统。HDFS设计理念之一就是让它能运行在普通的硬件之上,即便硬件出现故障,也可以通过容错策略来保证数据的高可用。
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是否有相应的容错方案。
- HDFS原理分析:基本概念(简单易懂)
- HDFS原理分析:基本概念
- HDFS原理分析:基本概念
- HDFS原理分析(一)—— 基本概念
- SpringMVC运行原理(简单易懂)
- NAT原理分析(较为全面易懂)
- HDFS原理分析(一)
- HDFS原理分析(u)
- 简单易懂的索引分析
- Adaboost算法原理分析和实例+代码(简明易懂)
- HDFS原理分析
- HDFS架构原理分析
- HDFS原理分析
- HDFS简单读写分析
- php实现简单分页原理,更易懂!
- 简单易懂的金融"杠杆原理"解说
- 简单易懂的金融"杠杆原理"解说
- 三极管最简单易懂原理总结
- 搜索-D
- Linux加载DTS设备节点的过程(以高通8974平台为例)
- Redis 是什么
- leetcode389. Find the Difference
- A + B Problem II(1002)
- HDFS原理分析:基本概念(简单易懂)
- CSDN博客Markdown编辑器模板效果
- Mybatis log4j日志配置
- HTML标签marquee实现滚动效果
- 单例模式
- 心中的凯尔莫罕
- CSS样式的优先级和权重
- 高通APQ8074 spi 接口配置
- JAVA源码学习(1)——Integer