视频网站高管有做传统媒体出身的吗?优酷副总裁转型成功的概率有多少?,中国建设银行官网站纪念币预约,数字媒体艺术,广西新农村建设工作专题网站文章目录 一、HDFS1、Hadoop的三大组成部分2、本地模式和伪分布模式的区别是什么3、什么是HDFS4、如何单独启动namenode5、hdfs的写入流程6、hdfs的读取流程7、hdfs为什么不能存储小文件8、secondaryNameNode的运行原理9、hadoop集群启动后离开安全模式的条件10、hdfs集群的开机… 文章目录 一、HDFS1、Hadoop的三大组成部分2、本地模式和伪分布模式的区别是什么3、什么是HDFS4、如何单独启动namenode5、hdfs的写入流程6、hdfs的读取流程7、hdfs为什么不能存储小文件8、secondaryNameNode的运行原理9、hadoop集群启动后离开安全模式的条件10、hdfs集群的开机启动流程 二、MapReduce1、MapReduce的原理2、MapReduce的shuffer过程3、块和片的区别4、Combiner5、环形缓冲区 三、Yarn1、Yarn的三种调度器 一、HDFS
1、Hadoop的三大组成部分 1、HDFS分布式文件系统用于存储大规模的数据具有高容错性和可扩展性 2、MapReduce分布式计算框架用于处理大规模数据的编程模型和计算框架 3、YARN资源管理框架负责管理集群中的资源分配和任务调度 2、本地模式和伪分布模式的区别是什么 本地模式是在单个节点上运行所有的进程资源利用相对简单通常将数据存储在本地文件系统中 而伪分布模式虽然也是在单个节点上运行但会模拟出分布式环境分配和管理多个进程所需的资源会按照分布式的架构来组织和存储数据 3、什么是HDFS HDFSHadoop 分布式文件系统是 Hadoop 生态系统中的核心组件之一它是一种用于大规模数据存储的分布式文件系统具有高容错性和可扩展性其中 namenode负责管理datanode节点记录各个块的信息 secondarynamenode负责帮助namenode完成fsimage和edits文件的合并 datanode负责存储数据 4、如何单独启动namenode hdfs --daemon start namenode 5、hdfs的写入流程 客户端发送写请求namenode接收后先校验权限然后通过机架算法计算出三个节点将这三个节点发送给客户端客户端通过pipeline通道向这三个节点写入数据传递的单位是packet一个packet大小为64KB各个节点传递完成后给客户端响应 6、hdfs的读取流程 客户端发送读请求namenode接收后先校验权限然后从自己内存中查看文件放在哪几个节点并将其详细信息发送给客户端客户端到对应datanode节点去拉取数据然后将拉取的数据整合再发送给客户端。 7、hdfs为什么不能存储小文件 HDFS文件系统中默认需要将存储的数据进行切割存储的每一个块是128M不管一个块中存放的是大文件还是小文件都有元数据这个元数据大约占用内存150字节如果存放过多的小文件会占用过多的块从而消耗过多内存。 8、secondaryNameNode的运行原理 1、SecondaryNameNode 每隔一个小时去nameNode中拉取数据 2、拉取的时候会终止当前的edits文件生成一个新的edits_inprogress_XXX. 3、接着会将edits文件和最新的fsiamge文件拉取到SecondaryNameNode的服务器上进行合并生成一个最新的fsimage.ckpt 4、将fsimage.ckpt传递给nameNode NameNode 修改一下名字变为新的fsimage ,删除掉之前的倒数第二个文件。因为fsimage只保留两个最新的文件。 9、hadoop集群启动后离开安全模式的条件
解除安全模式需要满足两个条件 1、每个数据块的副本数量达到了设定的阈值 2、并且加载出来的副本总数和所有数据块的所有副本数之和的比值需要大于99.99% 10、hdfs集群的开机启动流程 初始化 NameNode与SecondaryNameNode配合读取fsimage和edits文件加载元数据并重新生成一个新的edits文件启动 DataNode并与NameNode建立心跳机制进入安全模式只读模式不能删除和修改文件达到条件后解除安全模式 二、MapReduce
1、MapReduce的原理 AppMaster: 整个Job任务的核心协调工具 MapTask: 主要用于Map任务的执行 ReduceTask: 主要用于Reduce任务的执行 一个任务提交 -- AppMaster– 根据切片的数量统计出需要多少个MapTask任务 --向ResourceManager(Yarn平台的老大)索要资源 -- 执行Map任务先读取一个分片的数据传递给map方法。– map 方法不断的溢写 -- reduce 方法 -- 将统计的结果存放在磁盘上。 2、MapReduce的shuffer过程 1、Shuffle 过程是 MapReduce 框架中连接 Map 阶段和 Reduce 阶段的中间环节它的主要作用是对 Map 阶段的输出结果进行整理和分区以便 Reduce 任务能够高效地获取和处理数据。 2、map端写出数据到环形缓冲区中环形缓冲区默认阈值为100MB达到该阈值的80%就开始溢写数据到磁盘map会将这些小的磁盘文件进行归并和快排变成一个大文件。 3、reduce端根据不同的分区拉取map写到磁盘中对应的数据 4、而这个过程被称为shuffle过程简单来说就是reduce对map端数据的各种拉取就是数据的拉来拉去 3、块和片的区别 1、块是物理概念片是逻辑概念。一般片 块但是到最后一次的时候有可能片 块但是绝对不能超过块的1.1倍。 2、mapreduce 启动多少个MapTask任务跟片有关系有多少个片就启动多少个map任务。跟块儿无关。 4、Combiner Combiner其实就是运行在mapTask中的reducer。 Reducer其实就是合并代码的。Combiner是作用在Map端的。 Combiner 只能用于对统计结果没有影响的场景下。 一般只用于统计之和统计最大值最小值的场景下。统计平均值等情况是不能用的。 5、环形缓冲区 1、环形缓冲区其实是一个数组将数组分为两部分分割的这个点就称之为轴心。 2、存储KV真实数据是顺时针存储 3、每一个KV真实数据都有对应的元数据元数据是逆时针存储。 4、当两者数据占用空间达到80%的时候需要清理数据清理完之后轴心发生了变化 三、Yarn
1、Yarn的三种调度器 1、FIFO SchedulerFIFO调度器先进先出先进去的任务先执行 缺点假如第一个任务很大就会阻塞后面的小任务 2、Capacity Scheduler容量调度器将cpu资源分为多个队列将不同类型的任务分到不同队列中 缺点如果真遇到了大任务执行的时间会稍微长一些。因为要时刻给小的任务预留资源 3、Fair Scheduler公平调度器根据当前正在运行的任务数量和资源使用情况为新任务分配适当的资源 缺点资源分配可能不够精准对小任务响应可能不及时