hadoop细节 -> 持续更新
Hdfs:
hdfs写流程:

- 客户端通过DistributedFileSystem请求namenode上传文件
- Namenode进行检查,比如父路径 文件本身,是否允许上传
- Namenode相应信息给client 是否允许上传
- 请求上传第一个block块
- Namenode根据元数据信息判断,需要在哪些datanode上上传,返回datanode列表,根据复本数返回datanode节点数。
- 客户端通过FSDataOutputStream建立通道,客户端先与datanode1建立通道,data1与data2,data2与data3建立通道
- 响应通道的应答消息
- 上传block块,在客户端会形成数据队列(block以pachage为单位进行划分),以pakage为单位(默认大小为64k)进行上传
- 客户端先传给data1,先存储在data1的内存中,然后再写入磁盘。Data1将package传给data2 ,data2传给data3
- 10.响应pachage应答消息,响应给客户端,从数据队列中删除package
block上传完成当上传其他的block块的时候 从4步开始执行
11.最后客户端通知namenode上传完成了
hdfs 读流程:

- 客户端通过DistributedFileSystem与namenode进行通信,请求下载文件
- Namenode通过查找自己的元数据信息,获得文件对应的block块及其位置信息,响应给客户端
- 客户端通过网络拓扑,选择一台datanode(就近原则),进行请求读取,请求读取的时候通过FSDataInputStream
- 客户端以package为单位进行读取,先写入到客户单的本地的缓存中(内存中),然后同步到磁盘。
Yarn:
resourcemanager的基本职能概括:
- 与客户端进行交互,处理来自于客户端的请求,如查询应用的运行情况
- 启动和管理各个应用的ApplicationMaster,并且为ApplicationMaster申请第一个Container用于启动和运行失败时将它重新启动
- 管理NodeManager,接受来自NodeManager的资源和节点健康情况汇报,并向NodeManager下达管理资源命令,例如kill掉某个container
- 资源管理和调度,接受来自ApplicationMaster的资源申请,并且为其进行分配。这个是他的最重要的只能。
| MapReduce1 | Yarn |
| Jobtrack | 资源管理器(Resourcemanager)、applicationMaster、时间轴服务器 |
| Tasktrack | 节点管理器(nodemanager) |
| slot | 容器(container) |
MapReduce:
hadoop细节 -> 持续更新的更多相关文章
- Java的一些良好习惯及细节------持续更新中...
1.在做条件判断时,不要将变量放在判断符的左边,这样做可以防止出现空指针异常,以字符串比较为例: String name = "Tom"; //这种方式不推荐,如果变量name为空 ...
- Netty 面试题 (史上最全、持续更新)
文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...
- React Native之坑总结(持续更新)
React Native之坑总结(持续更新) Genymotion安装与启动 之前我用的是蓝叠(BlueStack)模拟器,跑RN程序也遇到了一些问题,都通过搜索引擎解决了,不过没有记录. 但是Blu ...
- RedHat 和 Mirantis OpenStack 产品的版本和功能汇总和对比(持续更新)
Mirantis 和 Red Hat 作为 OpenStack 商业化产品领域的两大领军企业,在行业内有重要的地位.因此,研究其产品版本发布周期和所支持的功能,对制定 OpenStack 产品的版本和 ...
- Pig基础学习【持续更新中】
*本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapR ...
- Pig语言基础-【持续更新中】
***本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.*** Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的, ...
- 【 js 基础 】【 源码学习 】源码设计 (持续更新)
学习源码,除了学习对一些方法的更加聪明的代码实现,同时也要学习源码的设计,把握整体的架构.(推荐对源码有一定熟悉了之后,再看这篇文章) 目录结构:第一部分:zepto 设计分析第二部分:undersc ...
- 【持续更新】JavaScript常见面试题整理
[重点提前说]这篇博客里的问题涉及到了了JS中常见的的基础知识点,也是面试中常见的一些问题,建议初入职场的园友Mark收藏,本文会持续更新~ 1. 引入JS的三种方式 1.在HTML标签中直接使用,直 ...
- 白话kubernetes的十万个为什么(持续更新中...) - kubernetes
Kubernetes简称? 答:k8s或kube. Kubernetes是什么? 答:由Google开发的一个强大的平台,可以在集群环境中管理容器化应用程序.本质上是一种特殊的数据库,里面存储的是能够 ...
随机推荐
- win10教育版永久激活密钥 win10教育版激活码 win10教育版产品密钥2018(第三种方法亲测可用!)
有没有最新win10教育版激活密钥?win10教育版功能比较全面,增加了一些学术上需要的功能.有用户装了win10教育版,提示需要产品密钥,网上找到的win10教育版永久激活码大多失效,这边小编为大家 ...
- Research Guide: Pruning Techniques for Neural Networks
Research Guide: Pruning Techniques for Neural Networks 2019-11-15 20:16:54 Original: https://heartbe ...
- SpringBoot——配置文件加载位置及外部配置加载顺序
声明 本文部分转自:SpringBoot配置文件加载位置与优先级 正文 1. 项目内部配置文件 spring boot 启动会扫描以下位置的application.properties或者applic ...
- Asynchronous method in while loop 构造异步调用链
Asynchronous method in while loop https://stackoverflow.com/questions/43064719/javascript-asynchrono ...
- 源码编译Redis Desktop Manager ---(转载)
精美文章转载: 版权声明:本文作者为「Kany.Wang」,本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议.转载请注明出处!原文链接:https://kany.me/20 ...
- i系列标准-互联网周刊
原文:http://www.enet.com.cn/article/2019/0429/A20190429062899.html 传统意义上的规模.现代意义上的工具时代感.永远不会改变的最高意义上的使 ...
- Ubuntu宝塔面板设置网站 Apache Server API为Apache 2.0 Handler模式
用过宝塔面板(https://www.bt.cn)的谁用谁知道: 以下来自官网的介绍: “宝塔Linux面板是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据 ...
- python MySQLdb 字典(dict)结构数据插入mysql
背景: 有时候直接操作数据库字段比较多,一个个写比较麻烦,而且如果字段名跟数据库一致,那生成为字典后,是否能直接使用字典写入数据库呢,这样会方便很多,这里简单介绍一种方法. 实例: 1. 假设数据库表 ...
- Java12新特性 -- 其他新增,移除,废弃项
支持unicode 11 JDK 12版本包括对Unicode 11.0.0的支持.在发布支持Unicode 10.0.0的JDK 11之后,Unicode 11.0.0引 入了以下JDK 12中包含 ...
- 【GMT43智能液晶模块】例程十六:LAN_TCPS实验——以太网数据传输
源代码下载链接: 链接:https://pan.baidu.com/s/1e5Qp-xASjlA0pje3S7TdIg提取码:9v37 复制这段内容后打开百度网盘手机App,操作更方便哦 GMT43购 ...