1. Hadoop是什么

1.1 Hadoop架构

Hadoop由三个模块组成:分布式文件存储HDFS、分布式计算MapReduce、资源调度引擎Yarn

1.2 分布式是什么

分布式:利用一批通过网络连接的、廉价普通的机器,完成单个机器无法完成的存储、计算任务

1.3 HDFS是什么

Hadoop分布式文件系统

1.4 为什么使用HDFS

高可用、容错、可扩展

2.核心概念block

2.1 数据块block

2.1.1 HDFS block块

HDFS3.x上的文件,是按照128M为单位,切分成一个个block,分散存储在集群的不同数据节点datanode上

问:HDFS中一个44M大小的块会不会占据128M的空间?不会

2.2 block副本 保正数据的可用及容错

replication = 3

dfs-site.xml

<property>
<name>dfs.replication</name>
<value>3</value>
</property>

实际机房中,会有机架,每个机架上若干服务器

3.机架存储策略

4. HDFS体系架构

HDFS是主从架构Master/Slave、管理节点/工作节点
4.1 NameNode
fs文件系统,用来存储、读取数据

NameNode主要用来干嘛的?

1. 管理节点,负责管理文件系统和命名空间,存放了HDFS的元数据;
2. 元数据信息包括文件系统树、整棵树所有的文件和目录、每个文件的块列表、块所在的datanode等;
3. 元数据信息以命名空间镜像文件fsimage和编辑日志(edits log)的方式保存
Fsimage:元数据镜像文件 ,保存了文件系统目录树信息以及文件和块的对应关系
edits log:日志文件 ,保存文件系统的更改记录

4.2 DataNode
存储block,以及block元数据包括数据块的长度、块数据的校验和、时间戳
4.3 SeconddaryNameNode
它一般部署在另外一台节点上,因为它需要占用大量的CPU时间,并需要与namenode一样多的内存,来执行合并
操作

5.HDFS心跳机制

工作原理:
1. master启动的时候,会开一个ipc server在那里。

2. slave启动,连接master,每隔3秒钟向master发送一个“心跳”,携带状态信息;
3. master通过这个心跳的返回值,向slave节点传达指令
作用:
1. Namenode全权管理数据块的复制,它周期性地从集群中的每个Datanode接收心跳信号和块状态报告
(Blockreport)。接收到心跳信号意味着该Datanode节点工作正常。块状态报告包含了一个该 Datanode上所
有数据块的列表
2. DataNode启动后向NameNode注册,通过后,周期性(1小时)的向 NameNode上报所有的块的列表;
每3秒向NamNode发一次心跳,返回NameNode给该DataNode的命令;如复制块数据到另一台机器,或删
除某个数据块。如果NameNode超过10分钟没有收 到某个DataNode 的心跳,则认为该节点不可用。
3. hadoop集群刚开始启动时,会进入安全模式(99.9%),就用到了心跳机制

6.HDFS写流程介绍

这里描述的 是一个256M的文件上传过程

① 由客户端 向 NameNode节点 发出请求

②NameNode 向Client返回可以存数据的 DataNode 这里遵循  机架感应  原则

③客户端 首先 根据返回的信息 先将 文件分块(Hadoop2.X版本 每一个block为 128M 而之前的版本为 64M

④然后通过nameNode返回的DataNode信息 直接发送给DataNode 并且是 流式写入  同时 会复制到其他两台机器

⑤dataNode 向 Client通信 表示已经传完 数据块 同时向NameNode报告

⑥依照上面(④到⑤)的原理将 所有的数据块都上传结束 向 NameNode 报告 表明 已经传完所有的数据块

这样 整个HDFS上传流程就 走完了

7.HDFS读流程介绍

1、client跟namenode通信查询元数据,找到文件块所在的datanode服务器

2、随机挑选一台datanode(就近原则,然后随机)服务器,请求建立socket流

3、datanode开始发送数据(从磁盘里面读取数据放入流,以packet为单位来做校验)

4、客户端以packet为单位接收,先在本地缓存,然后写入目标文件

HDFS分布式文件存储系统相关推荐

  1. HDFS分布式文件存储系统详解

    HDFS简介 一.HDFS:Hadoop Distributed File System 1. 一个分布式文件系统             2. 基于流数据模式访问和处理超大文件的需求而开发的     ...

  2. day36~37_HDFS分布式文件存储系统

    HDFS分布式文件存储系统 一.HDFS概述 (一)HDFS产生背景 随着数据量越来越大,在一个文件系统下无法存储海量数据,普通硬件支持的操作系统即使扩展磁盘也会遇到瓶颈,迫切需要水平横向扩展来解决数 ...

  3. 一图看懂hadoop分布式文件存储系统HDFS工作原理

    一图看懂hadoop分布式文件存储系统HDFS工作原理 转载于:https://www.cnblogs.com/AlexQY/p/9856477.html

  4. hdfs读写流程_必须掌握的分布式文件存储系统—HDFS

    必须掌握的分布式文件存储系统-HDFS​mp.weixin.qq.com HDFS(Hadoop Distributed File System)分布式文件存储系统,主要为各类分布式计算框架如Spar ...

  5. HDFS—Hadoop底层分布式文件存储系统

    声明:本文档所有内容均在本人的学习和理解上整理,仅供参考,欢迎讨论.不具有权威性,甚至不具有精确性,也会在以后的学习中对不合理之处进行修改. 在上一篇"浅谈Hadoop inFusionIn ...

  6. 分布式文件存储系统调研

    分布式文件存储系统调研 主流分布式文件存储系统 分布式文件系统 适合类型 文件分布 系统性能 复杂度 备份机制 接口类型 开发语言 使用 FastDFS 4KB~500MB 小文件合并存储,不分片处理 ...

  7. 分布式文件存储系统技术及实现

    本课程针对分步式文件存储系统的实现进行讲解,首先分析为什么要使用这种分步式存储系统,以及这种系统在设计时需要注意的问题,并比较现在市面常见的分步式存储系统(HDFS.Ceph等),展示阿里Pangu系 ...

  8. 盘点分布式文件存储系统____分布式文件存储系统简介

    盘点分布式文件存储系统 在项目的数据存储中,结构化数据通常采用关系型数据库,非结构化数据(文件)的存储就有很多种方式,服务器本地存储.Nas挂载.ftp等等,今天就来盘点一下,分布式文件存储系统. 一 ...

  9. 分布式文件存储系统的优点和缺点

    分布式文件存储系统 分布式:在hdfs中由多个服务器组成,每个服务器扮演着不同的角色 HDFS适用于一次写入多次读出,不支持文件修改 优点 1高容错性 一台宕机没有什么问题,不会造成一个数据整体丢失. ...

最新文章

  1. 程序员又背锅?美团外卖声明“杀熟会员”是技术原因,软件定位缓存导致配送费不准!网友:程序员太惨!...
  2. Python使用matplotlib可视化多分类变量组合下分组小提琴图、使用seaborn中的catplot函数可视化多分类变量组合下分组小提琴图(Categorical Plots)
  3. Cocos2d-x 3.0 rc0中加入附加项目,解决无法打开包括文件:“extensions/ExtensionMacros.h”...
  4. NYOJ 453 小珂的烦恼 模拟
  5. OO实现ALV TABLE 一:最简单的ALV显示
  6. 整数中1出现的次数(从1到n整数中1出现的次数)
  7. frida hook so层、protobuf 数据解析
  8. 汇编语言:编写代码实现字符串的复制
  9. iOS 蓝牙使用小结 bluetooth
  10. 数据结构与算法的实现 —— 结点定义与数据结构的选择
  11. [No0000CE]检测非空格字符作为密码的密码强度
  12. 大话数据结构 mobi epub txt pdk
  13. 深入浅出hibernate_夏昕_hibernate别名完成ResultSet和实体的映射
  14. 黑苹果hidp显示不清楚_bigsur 黑苹果开启HIDPI失败解决方法
  15. 详解C语言中的使用(取地址符)
  16. flash html游戏开发,flash游戏制作|Flash AS3.0教你射击类游戏的制作_好特教程
  17. 一位微信小程序萌新的学渣笔记(三)基础语法之常见组件
  18. DBFS CLI : 02-文件操作相关常用命令
  19. 有效沟通bic法则_猎头支招:工作中有效沟通的法则
  20. 雷蛇键盘灯光配置文件_雷蛇这款光轴机械键盘开箱评测,光速触发,颜值爆表...

热门文章

  1. 阿里云服务器 安装SVN
  2. Linux中查看系统版本(内核和发行)、CPU信息以及修改主机名
  3. 归并算法Python3.7实现及时间复杂度分析
  4. x86汇编语言从实模式百度云_x86汇编语言:从实模式到保护模式
  5. html5怎么让图片在导航栏后,请问前端大神,html如何引入另一个html,写了一个导航栏想在多个页面中如何重复使用?...
  6. 9 种开源的服务网格比较
  7. 解决Microsoft SQL Server 2005 安装失败方法
  8. 【图像笔记】深度图像和深度相机
  9. 骑砍自建服务器,骑砍服务器开服与维护完全教程
  10. 第十届蓝桥杯大赛青少年创意编程C++组省赛 水下探测器+小猫吃鱼