本文是我学习Hadoop搭建过程中的各种笔记,内容来自于各种公开的教程,起点非常低,从Linux基础开始,直至在PC上搭建Hadoop成功,是真正的从零开始。
感谢过程中帮助我的各位认识的和不认识的老师。
32、Hdfs的文件读写流程:
写数据流程:
HDFS Clicnt:能操作文件的地方
open 调用了一个类,这个类叫Distributed Filesystem(分布式文件系统)
打开Distributed Filesystem的同时,会向NameNode发出请求,(告诉NameNode要写数据了)写到哪,写的文件在哪,从哪个文件的数据复制的哪,NameNode根据你的文件要写到哪的地址,文件大小和NameNode自身的配置,为你规划有多少块,把DataNode的地址,规划后的地址,反回给你,组成一个地址集合,返回给HDFS Clicnt。
HDFS Clicnt得到DataNode地址的集合,Clicnt再次把文件大小划分成不同的多个Block, 划分成不同的Block之后,按照顺序,一一的写到DataNode里面
FSData Out purstream :输出流,写到文件里面去,按顺序依次写到DataNode里面
写到DataNode里面后,要放一个是否成功的标志ack
成功后写第二个,再成功后写第三个
原样返回到FSData Out purstream输出流,返回到客户端
此时接受的ack后就把流给关闭了
由Distributed Filesystem(分布式文件系统)告诉NameNode 此次的写入操作完成
读数据流程:
HDFS Clicnt打开Distributed Filesystem分布式文件操作系统
告诉NameNode要进行读操作,告诉NameNode要读的文件的路径在哪,NameNode看到文件路径后,通过元数据拿到文件:有哪些块,这些块的文件地址都在哪,NameNode
把文件所对应的块,块所对应的NameNode的地址,(地址是有顺序的,有机架,会做一个机架感应)封成一个集合,返回给HDFS Clicnt
HDFS Clicnt客户端发起读的操作
再做一个FDSataInput Stream流,每一个块都有三个副本,肯定有一个距离HDFS Clicnt客户端近,选近的读(前提是有机架感应策略)
按照顺序,依次读取DataNode上面的block块的数据流
读完之后返回给FDSataInput Stream ,打印出来或输出到文件里面去
可以参考书《计算类目详解》
33、Yarn概念的讲解:
分布式资源管理框架YARN (yarn是资源管理器和任务调度器)
云计算三层服务:
yarn:相当于一个迷你型操作系统,因为它能管理资原
yarn相当于PaaS这一层
YARN设计目标:
Hadoop1 MepReduce运行图:
Hadoop2.x 以后的MepReduce运行图:
YARN的服务组件:
Client :客户端,能操作,作业的地方
YARN 也是一个主从架构
RescourceManager 主,相当于NameNode ——管理资源的
NodeManager 从,相当于DataNode ——具体干活的
Application Master 每个作业有一个唯一的Application Master负责全部的运行,是单个作业的老大
Container :容器,容器里面装的是资源(CPU、内存等),有这些资源,程序才能运行
YARN服务组件
ResourceManager
NodeManager
Application Master
Container
YARN优势:
YARN资源管理:
Hadoop发现版本: