做网站有哪些类型,重庆制作网页设计,平面设计素材网站哪个好,重庆建筑人才网招聘一 、介绍一下hadoop
综述:hadoop是一个适合海量数据的分布式存储和分布式计算的平台
分述:hadoop包含三大组件#xff0c;分别是HDFS、MapReduce和YARN --HDFS(分布式文件系统)
HDFS集群由NameNode,DataNode,SecondaryNameNode构成NameNode#xff1a;主要负责接受用户请求…一 、介绍一下hadoop
综述:hadoop是一个适合海量数据的分布式存储和分布式计算的平台
分述:hadoop包含三大组件分别是HDFS、MapReduce和YARN --HDFS(分布式文件系统)
HDFS集群由NameNode,DataNode,SecondaryNameNode构成NameNode主要负责接受用户请求、存储元数据描述文件的数据如文件名、文件大小、目录名、文件创建时间等DataNode主要负责存储数据管理用户的block,文件默认会按照每128M切分为block块存储在DataNode上每个block块默认会有三个副本存放在不同的DataNode上,DataNode会通过心跳机制定期向NameNode汇报自身所保存的文件block块信息SecondaryNameNode主要负责辅助NameNode定期合并fsimage(快照文件)和edits日志文件并同步一份给NameNode--MapReduce: 分布式计算系统
MapReduce分为map阶段和reduce阶段map阶段与reduce阶段中间的过程被称为shufferMapReduce流程
1.文件被上传到HDFS中默认以128M切分为一个block块
2.每个block块数据会进行逻辑上的切片切片的大小默认与block块大小一致为128M
3.之后根据切片的数量产生相同数量的Map任务
-------------------------------------------shuffer----------------------------------------------------------
4.Map任务会进入环形缓冲区根据Reduce数量默认是一个以及数据本身的值进行分区编号底层与哈希值有关并进行快速排序当写入环形缓冲区的数据达到环形缓冲区的80%向磁盘溢写一个小文件
5.之后将溢写的小文件使用归并算法合并产生Map任务的结果文件
6.然后Reduce从结果文件拉取对应的分区编号的数据去掉编号后对拉取的文件数据进行归并排序
------------------------------------------------------------------------------------------------------------
7.执行Reduce逻辑产生Reduce合并之后的结果文件--YARN: 分布式资源调度系统
YARNyarn由4部分组成。
1. ResourceManager主要功能是
1接收用户请求
2管理调度资源
3启动管理am
4管理所有nm,处理nm的状态汇报向nm下达命令。
2.Containeryarn的应用都是运行在容器上的容器包含cpu内存等信息。
3.NodeManagerNM是每个节点上的资源和任务管理器它会定时地向RM汇报本节点上的资源使用情况和各个容器的运行状态同时负责对容器的启动和停止。
4. ApplicationMaster管理应用程序。向RM获取资源、为应用程序分配任务、 监控所有任务运行状态。 二、HDFS读写数据流程
HDFS写数据流程
1.客户端使用rpc通信框架向NameNode发送请求NameNode接收并处理用户的请求。
2.NameNode审核用户文件的操作权限文件路径磁盘空间是否可用审核通过后NameNode会返回成功状态给DFS分布式文件系统
3.如果DFS接收到成功的状态会创建一个FSDataoutputStream的对象给客户端使用
4.客户端向NameNode获取文件存储在HDFS中所需要的所有DataNode节点
5.NameNode对客户端划分的block块分配好所有的DataNode
6.客户端通过机架感知与最近的DataNode建立联系将block块划分为2048个packet进行发送直到所有的packet发送完毕后则当前的block块传输完毕开始传输下一个block块中的packet
7.DataNode之间会形成pipeline通道传输这些packet
8.传输完毕后发送确认值给客户端
9.当最后一个block中的最后一个packet传输完毕后释放FSDataoutputStream对象关闭DataNode之间的pipeline通道至此写数据完成。 HDFS读数据流程
1.使用HDFS提供的client向远程的NameNode发起RPC请求
2.namenode会视情况返回文件的部分block块信息列表或者全部block对于每个blocknamenode都会返回该block副本的DataNode地址
3.client会选取离最近的DataNode读取block块
4.建立socket流DataNode发送数据以packet的单位接收先在本地缓存然后写入目标文件。读取完block关闭当前的datanode连接再寻找下一个block最佳的datanode。
5.读取完block后且文件没有读取完client继续向namenode获取下一批block块
6.后面的block块相对于append到前面的block块最后合成最终需要的文件
7.读取一个block都会进行checksum验证。如果读取DataNode出现错误client会通知NameNode然后再从下一个拥有block的DataNode继续读。 三、 HDFS的federation联邦机制
HDFS Federation设计可解决单一命名空间存在的以下几个问题
1HDFS集群扩展性。多个NameNode分管一部分目录使得一个集群可以扩展到更多节点。
2性能更高效。多个NameNode管理不同的数据且同时对外提供服务将为用户提供更高的读写吞吐率。
3良好的隔离性。用户可根据需要将不同业务数据交由不同NameNode管理这样不同业务之间影响很小。 四、 yarn执行流程
yarn执行流程:
1. 作业提交
首先我们将任务提交给JobClient,JobClient会向RM获取一个appId。 然后我们的JobClient会对作业进行处理, 切分InputSplit, 将作业的Jar包, 配置文件和拷贝InputSplit信息拷贝到HDFS。 最后, 通过调用RM的submitApplication()来提交作业。2. 作业初始化
当RM收到submitApplciation()的请求时, 就将该请求发给调度器, 调度器分配第一个容器, 然后RM在该容器内启动applicationmaster进程。该进程上运行着一个MRAppMaster的Java应用。其通过创造一些bookkeeping对象来监控作业的进度。 然后通过hdfs得到由JobClient已经处理好的作业信息。为每个Inputsplit创建一个map任务, 并创建相应的reduce任务。然后applicationmaster会对整个作业量进行判断如果作业量很小, applicationmaster会选择在其自己的JVM中运行任务, 这种作业称作是uber task的方式。在任务运行之前, 作业的setup方法被调用来创建输出路径。3. 任务分配
如果不是小作业, 那么applicationmaster向RM请求更多的容器来运行所有的map和reduce任务每个容器只能对应一个任务。这些请求是通过心跳来传输的, 包括每个map任务的数据位置, 比如Inputsplit的主机名和机架。调度器利用这些信息来调度任务, 尽量将任务分配给有存储数据的节点, 或者分配给和存放Inputsplit的节点相同机架的节点。4. 任务运行
当一个任务由RM的调度器分配了一个容器后, applicationmaster与NM通信来启动容器。任务由一个为YarnChild的Java应用执行。在运行任务之前首先本地化任务需要的资源, 比如作业配置, JAR文件, 以及hdfs中保存的任务所需的所有文件。最后, map任务或者reduce运行在一个叫YarnChild的进程当中。5. 进度和状态更新
每个NM会想applicationmaster汇报自己的工作状态JobClient会每秒轮训检测applicationmaster这样就能随时收到更新信息。 6. 作业完成
除了向applicationmaster请求作业进度外, JobClient每5分钟都会通过调用waitForCompletion()来检查作业是否完成。作业完成之后,applicationmaster和NM会清理工作状态, OutputCommiter的作业清理方法也会被调用. 作业的信息会被作业历史服务器存储以备之后用户核查.yarn对异常task的处理推测执行推测执行是在分布式环境下因为某种原因造成同一个job的多个task运行速度不一致有的task运行速度明显慢于其他task则这些task拖慢了整个job的执行进度为了避免这种情况发生Hadoop会为该task启动备份任务让该speculative task与原始task同时处理一份数据哪个先运行完则将谁的结果作为最终结果。推测执行优化机制采用了典型的以空间换时间的优化策略它同时启动多个相同task备份任务处理相同的数据块哪个完成的早则采用哪个task的结果这样可防止拖后腿Task任务出现进而提高作业计算速度但是这样却会占用更多的资源。 五、 yarn执行策略
yarn调度器的策略yarn默认是计算能力调度FifoScheduler:根据先进先出排队最简单的调度器。CapacityScheduler(计算能力调度)、FairScheduler(公平调度)相同点(1)都是多队列。(2)都有资源最大最小上线限制。(3)都是资源共享每个队列剩余的资源可以给其他队列使用。不同点(1)队列排序算法不同计算能力调度资源使用量小的优先。公平调度根据公平排序算法排序。(2)应该用选择算法不同计算能力调度是先进先出。公平调度先进先出或者公平排序算法。(3)资源抢占公平调度如果当前队列有新应用提交后会把共享出去的资源抢夺回来。 六、shuffle优化
配置方面(1)增大map阶段的缓冲区大小。(2)map阶段输出结果使压缩压缩算法使用lzo。(3)增加reduce阶段copy数据线程数。(4)增加副本数从而提高计算时的数据本地化。
程序方面(1)在不影响计算结果的情况下建议使用combiner。(2)输出结果的序列化类型尽量选择占用字节少的类型。架构方面将http改为udp,因为http还要进行3次握手操作。
文章转载自: http://www.morning.ygxf.cn.gov.cn.ygxf.cn http://www.morning.wdykx.cn.gov.cn.wdykx.cn http://www.morning.prmyx.cn.gov.cn.prmyx.cn http://www.morning.lpmdy.cn.gov.cn.lpmdy.cn http://www.morning.ntgsg.cn.gov.cn.ntgsg.cn http://www.morning.pqwrg.cn.gov.cn.pqwrg.cn http://www.morning.lxfqc.cn.gov.cn.lxfqc.cn http://www.morning.jxjrm.cn.gov.cn.jxjrm.cn http://www.morning.wskn.cn.gov.cn.wskn.cn http://www.morning.btmwd.cn.gov.cn.btmwd.cn http://www.morning.wdjcr.cn.gov.cn.wdjcr.cn http://www.morning.hjbrd.cn.gov.cn.hjbrd.cn http://www.morning.sprbs.cn.gov.cn.sprbs.cn http://www.morning.rfrxt.cn.gov.cn.rfrxt.cn http://www.morning.wkhfg.cn.gov.cn.wkhfg.cn http://www.morning.hncrc.cn.gov.cn.hncrc.cn http://www.morning.xphcg.cn.gov.cn.xphcg.cn http://www.morning.mqwdh.cn.gov.cn.mqwdh.cn http://www.morning.bnjnp.cn.gov.cn.bnjnp.cn http://www.morning.nba1on1.com.gov.cn.nba1on1.com http://www.morning.hsjrk.cn.gov.cn.hsjrk.cn http://www.morning.fgsqz.cn.gov.cn.fgsqz.cn http://www.morning.gpryk.cn.gov.cn.gpryk.cn http://www.morning.bpmnj.cn.gov.cn.bpmnj.cn http://www.morning.lwmxk.cn.gov.cn.lwmxk.cn http://www.morning.bgqqr.cn.gov.cn.bgqqr.cn http://www.morning.pwbps.cn.gov.cn.pwbps.cn http://www.morning.gnmhy.cn.gov.cn.gnmhy.cn http://www.morning.whpsl.cn.gov.cn.whpsl.cn http://www.morning.rnzwh.cn.gov.cn.rnzwh.cn http://www.morning.rynrn.cn.gov.cn.rynrn.cn http://www.morning.mrfjr.cn.gov.cn.mrfjr.cn http://www.morning.ztfzm.cn.gov.cn.ztfzm.cn http://www.morning.hsrpc.cn.gov.cn.hsrpc.cn http://www.morning.lxthr.cn.gov.cn.lxthr.cn http://www.morning.brwei.com.gov.cn.brwei.com http://www.morning.mhcys.cn.gov.cn.mhcys.cn http://www.morning.lsqxh.cn.gov.cn.lsqxh.cn http://www.morning.rkxdp.cn.gov.cn.rkxdp.cn http://www.morning.datadragon-auh.cn.gov.cn.datadragon-auh.cn http://www.morning.wsnjn.cn.gov.cn.wsnjn.cn http://www.morning.sbpt.cn.gov.cn.sbpt.cn http://www.morning.pdgqf.cn.gov.cn.pdgqf.cn http://www.morning.ydhck.cn.gov.cn.ydhck.cn http://www.morning.lfcnj.cn.gov.cn.lfcnj.cn http://www.morning.hmbxd.cn.gov.cn.hmbxd.cn http://www.morning.tgtrk.cn.gov.cn.tgtrk.cn http://www.morning.nbpqx.cn.gov.cn.nbpqx.cn http://www.morning.lyhry.cn.gov.cn.lyhry.cn http://www.morning.ngqdp.cn.gov.cn.ngqdp.cn http://www.morning.nrydm.cn.gov.cn.nrydm.cn http://www.morning.bztzm.cn.gov.cn.bztzm.cn http://www.morning.kqglp.cn.gov.cn.kqglp.cn http://www.morning.gjzwj.cn.gov.cn.gjzwj.cn http://www.morning.ykwqz.cn.gov.cn.ykwqz.cn http://www.morning.nptls.cn.gov.cn.nptls.cn http://www.morning.hxpff.cn.gov.cn.hxpff.cn http://www.morning.tgcw.cn.gov.cn.tgcw.cn http://www.morning.srgyj.cn.gov.cn.srgyj.cn http://www.morning.ntqgz.cn.gov.cn.ntqgz.cn http://www.morning.sjjq.cn.gov.cn.sjjq.cn http://www.morning.nylbb.cn.gov.cn.nylbb.cn http://www.morning.flqbg.cn.gov.cn.flqbg.cn http://www.morning.kfclh.cn.gov.cn.kfclh.cn http://www.morning.dnqpq.cn.gov.cn.dnqpq.cn http://www.morning.tlrxt.cn.gov.cn.tlrxt.cn http://www.morning.bzlfw.cn.gov.cn.bzlfw.cn http://www.morning.nyqzz.cn.gov.cn.nyqzz.cn http://www.morning.xpqdf.cn.gov.cn.xpqdf.cn http://www.morning.lsqxh.cn.gov.cn.lsqxh.cn http://www.morning.snnwx.cn.gov.cn.snnwx.cn http://www.morning.hmhdn.cn.gov.cn.hmhdn.cn http://www.morning.cryb.cn.gov.cn.cryb.cn http://www.morning.ftlgy.cn.gov.cn.ftlgy.cn http://www.morning.yltyz.cn.gov.cn.yltyz.cn http://www.morning.bxbnf.cn.gov.cn.bxbnf.cn http://www.morning.ntwxt.cn.gov.cn.ntwxt.cn http://www.morning.mcqhb.cn.gov.cn.mcqhb.cn http://www.morning.mttqp.cn.gov.cn.mttqp.cn http://www.morning.rmyt.cn.gov.cn.rmyt.cn