博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDFS简介
阅读量:5146 次
发布时间:2019-06-13

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

课程链接:

1.HDFS基本概念

HDFS设计架构

  • 块(Block)文件被切分成块进行存储,默认大小为64MB,块是文件存储处理的逻辑单元(备份、查找)
  • NameNode是管理节点,存放文件元数据
  1. 文件与数据块的映射表
  2. 数据块与数据节点的映射表

  

  客户查询一个访问请求,那么会向上NameNode去查询元数据,返回的结果会知道文件存放在哪些节点上面,于是向这些节点去拿数据块,得到数据块后再组装拼接成想要的文件

  • DateNode是工作节点,存放数据块

  

 

2.数据管理策略

HDFS中数据管理与容错

默认的数据块保留三份(多份冗余),其中两份在同一个机架上面

 

 心跳检测

判断是否断机、宕机,NameNode也可知道哪些DataNode已经挂了

 

SecondaryNameNode

 

3.HDFS中文件的读写操作

客户端(Java程序、命令行)发起文件读取请求(将文件名、路径告诉NameNode)

NameNode查询元数据,返回客户端(文件包含哪些块,分别在哪些DataNode里可找到)

客户端找到这些DataNode读取Blocks,下载下来后进行组装

 

 

4.HDFS特点

  1. 数据冗余,硬件容错(允许运行在廉价机上的容错)
  2. 流式的数据访问(一次写入多次读取,写入之后不被修改,要修改只能删除后写入新的块)
  3. 存储大文件(如果太多小文件会使NameNode的负载压力比较大)

 适用性和局限性

  1. 适合数据批量读写,吞吐量高
  2. 不适合交互式应用,低延迟很难满足(不适合数据库)
  3. 适合一次写入多次读取,顺序读写
  4. 不支持多用户并发写相同文件

转载于:https://www.cnblogs.com/exciting/p/9209801.html

你可能感兴趣的文章
注解小结
查看>>
java代码编译与C/C++代码编译的区别
查看>>
Bitmap 算法
查看>>
转载 C#文件中GetCommandLineArgs()
查看>>
list control控件的一些操作
查看>>
绝望的第四周作业
查看>>
一月流水账
查看>>
npm 常用指令
查看>>
判断字符串在字符串中
查看>>
Linux环境下Redis安装和常见问题的解决
查看>>
HashPump用法
查看>>
cuda基础
查看>>
Vue安装准备工作
查看>>
oracle 创建暂时表
查看>>
201421410014蒋佳奇
查看>>
Xcode5和ObjC新特性
查看>>
LibSVM for Python 使用
查看>>
Centos 7.0 安装Mono 3.4 和 Jexus 5.6
查看>>
CSS属性值currentColor
查看>>
java可重入锁reentrantlock
查看>>