读书笔记-Hadoop大数据小结

        MapReduce执行流程:用户作业执行jobclient.runJob在Hadoop集群上启动,启动后jobclient会向jobtracker获取jobid,而且客户端会将作业执行资源复制到hdfs上,然后将作业提交给jobtracker,jobtracker初始化本地任务,然后从hdfs作业资源获取作业输入的分割信息,根据这些信息jobtracker将该任务分割成多个任务,然后将这些任务分配给心跳需求的tasktracker。tasktracker街道新任务之后会从hdfs获取任务资源,包括作业分配,分片输入,然后在本地启动一个java虚拟机并执行任务。任务结束之后将结果返回到hdfs。

       Mapreduce采用的两种机制:错误处理机制,作业调度机制。在错误处理机制中如果遇到硬件故障,hadoop会将任务分配到其他节点上运行,如果遇到任务失败,会重新执行。在作业调度中,公平调度器和fifo调度,开启公平调度器后能够根据作业用户数将资源均匀的分配到用户的作业池中,达到用户共享整个集群。

      Mapreduce中的shuffle和任务执行:shuffle的过程包括在map端,当缓冲区内容达到阈值的map开始写出,写出时按照key值在进行排序,再按照分区写入文件,然后在merger小文件将结果交给reduce。关于任务执行的三个重要细节:推测式执行,jvm重用,执行环境。执行环境主要是让用户可以看到执行参数的内容和任务目录结构。

猜你喜欢

转载自www.cnblogs.com/chunqiu0123/p/11752131.html