HDFS的工作机制,HDFS写数据流程,HDFS读数据流程(来自学习资料)
4.hdfs的工作机制
(工作机制的学习主要是为加深对分布式系统的理解,以及增强遇到各种问题时的分析解决能力,形成一定的集群运维能力)
注:很多不是真正理解hadoop技术体系的人会常常觉得HDFS可用于网盘类应用,但实际并非如此。要想将技术准确用在恰当的地方,必须对技术有深刻的理解
4.1 概述
1. HDFS集群分为两大角色:NameNode、DataNode (Secondary Namenode)
2. NameNode负责管理整个文件系统的元数据
3. DataNode 负责管理用户的文件数据块
4. 文件会按照固定的大小(blocksize)切成若干块后分布式存储在若干台datanode上
5. 每一个文件块可以有多个副本,并存放在不同的datanode上
6. Datanode会定期向Namenode汇报自身所保存的文件block信息,而namenode则会负责保持文件的副本数量
7. HDFS的内部工作机制对客户端保持透明,客户端请求访问HDFS都是通过向namenode申请来进行
4.2 HDFS写数据流程
4.2.1 概述
客户端要向HDFS写数据,首先要跟namenode通信以确认可以写文件并获得接收文件block的datanode,然后,客户端按顺序将文件逐个block传递给相应datanode,并由接收到block的datanode负责向其他datanode复制block的副本
4.2.2 详细步骤图
4.2.3 详细步骤解析
1、根namenode通信请求上传文件,namenode检查目标文件是否已存在,父目录是否存在
2、namenode返回是否可以上传
3、client请求第一个 block该传输到哪些datanode服务器上
4、namenode返回3个datanode服务器ABC
5、client请求3台dn中的一台A上传数据(本质上是一个RPC调用,建立pipeline),A收到请求会继续调用B,然后B调用C,将真个pipeline建立完成,逐级返回客户端
6、client开始往A上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以packet为单位,A收到一个packet就会传给B,B传给C;A每传一个packet会放入一个应答队列等待应答
7、当一个block传输完成之后,client再次请求namenode上传第二个block的服务器。
4.3. HDFS读数据流程
4.3.1 概述
客户端将要读取的文件路径发送给namenode,namenode获取文件的元信息(主要是block的存放位置信息)返回给客户端,客户端根据返回的信息找到相应datanode逐个获取文件的block并在客户端本地进行数据追加合并从而获得整个文件
4.3.2 详细步骤图
4.3.3 详细步骤解析
1、跟namenode通信查询元数据,找到文件块所在的datanode服务器
2、挑选一台datanode(就近原则,然后随机)服务器,请求建立socket流
3、datanode开始发送数据(从磁盘里面读取数据放入流,以packet为单位来做校验)
4、客户端以packet为单位接收,现在本地缓存,然后写入目标文件
HDFS的工作机制,HDFS写数据流程,HDFS读数据流程(来自学习资料)相关推荐
- 全方位揭秘!大数据从0到1的完美落地之HDFS的工作机制
HDFS的工作机制 开机启动Namenode过程 非第一次启动集群的启动流程 我们应该知道,在启动namenode之前,内存里是没有任何有关于元数据的信息的.那么启动集群的过程是怎样的呢?下面来叙述一 ...
- 图文详解 HDFS 的工作机制及其原理
大家好,我是大D. 今天开始给大家分享关于大数据入门技术栈--Hadoop的学习内容. 初识 Hadoop 为了解决大数据中海量数据的存储与计算问题,Hadoop 提供了一套分布式系统基础架构,核心内 ...
- Hadoop大数据分布式文件系统hdfs的工作机制
HDFS集群分为两大角色:NameNode.DataNode NameNode负责管理整个文件系统的元数据 DataNode 负责管理用户的文件数据块 namenode工作机制 namenode职责: ...
- 3-39客户端(client)写数据到HDFS的流程
1)客户端向NN提出写数据请求 2)NN发现没有问题,同意客户端写数据 3)由于数据很大,需要分块:BLK1,BLK2三副本存在.此时客户端向NN提出写BLK1请求 4)NN决定将BLK1放在哪几个D ...
- hdfs haadmin使用,DataNode动态上下线,NameNode状态切换管理,数据块的balance,HA下hdfs-api变化(来自学习资料)
1.2.4集群运维测试 HA集群中两个namenode状态的管理命令 [root@mini2 hadoop-2.6.4]# bin/hdfs haadmin Usage: DFSHAAdmin [-n ...
- hdfs haadmin使用,DataNode动态上下线,NameNode状态切换管理,数据块的balance,HA下hdfs-api变化(来自学习资料)...
1.2.4集群运维测试 HA集群中两个namenode状态的管理命令 [root@mini2 hadoop-2.6.4]# bin/hdfs haadmin Usage: DFSHAAdmin [-n ...
- 大数据之-Hadoop3.x_MapReduce_ReduceTask工作机制并行度---大数据之hadoop3.x工作笔记0125
然后我们继续看一下maptask的工作机制,这个前面也有提过了, 可以看到左边是maptask处理完的数据,然后到了reduceTask阶段,会首先把数据 拉取过来当然,是按照分区拉取的对吧.这是co ...
- NAMENODE工作机制,元数据管理(元数据存储机制、元数据手动查看)、元数据的checkpoint、元数据目录说明(来自学习资料)
NAMENODE工作机制 学习目标:理解namenode的工作机制尤其是元数据管理机制,以增强对HDFS工作原理的理解,及培养hadoop集群运营中"性能调优"."nam ...
- Kafka整体结构图、Consumer与topic关系、Kafka消息分发、Consumer的负载均衡、Kafka文件存储机制、Kafka partition segment等(来自学习资料)
##1. Kafka整体结构图 Kafka名词解释和工作方式 Producer : 消息生产者,就是向kafka broker发消息的客户端. Consumer : 消息消费者,向kafka ...
最新文章
- 开发人员学Linux(10):CentOS7安装配置代码质量管理平台SonarQube6.4
- 从零实现来理解机器学习算法:书籍推荐及障碍的克服
- ubuntu 安装sun-java5-jdk
- 【华科考研复试机试题】华中科技大学考研复试机试题解题报告
- mysql5.0 php_php怎么连接mysql5.0?
- 怎样用c语言定义高幂整数,位操作运算的奇技淫巧!(附源码)
- oracle获取上年年初,【Oracle】TRUNC:获取去年年初和年末,获取月初和月末;
- 单链表算法设计(含大厂面试题)
- [渝粤教育] 西南科技大学 电力电子技术 在线考试复习资料
- kali安装图像处理软件
- 飞行管理计算机在ATA章节,民航ATA章节中英文对照.docx
- 扫线法快速判断凹多边形相交
- vue ui创建项目的常见错误
- HashMap的七种遍历方式
- 三十二个vbs整蛊代码,快去发给你的好朋友
- 如何在vue项目中引入video.js插件
- html中账号绑定怎么做,绑定账号.html
- 左倾红黑树(LLRBT)删除操作及相关性质总结答疑
- 关于信息论中熵、相对熵、条件熵、互信息、典型集的一些思考
- PLC编程安卓版 兼容三菱FX PLC编程指令 软件在线仿真 硬件PLC工控板蓝牙与手机蓝牙在线下载程序 在线仿真
热门文章
- 使用Xpath+多进程爬取诗词名句网的史书典籍类所有文章。update~
- 前端基础之CSS_1
- 6.Android的学习(Intent跳转页面,活动之间传递数据)
- wxWidgets:wxWidgets 验证器示例
- wxWidgets:wxStaticText类用法
- boost::mp11::mp_third相关用法的测试程序
- boost::mp11::mp_any相关用法的测试程序
- boost::geometry::coordinate_system用法的测试程序
- boost::endian模块实现reverse的测试程序
- boost::gregorian模块实现查找给定月份最后一天的测试程序