爱豆吧!
open-menu closeme
Home
随笔
Speeches
My Books
About
🌐
English Português
  • 【hadoop代码笔记】Mapreduce shuffle过程之Map输出过程

    calendar Feb 5, 2014 · 15 min read · hadoop java mapreduce 源码  ·
    Share on: twitter facebook linkedin copy

    一、概要描述

    shuffle是MapReduce的一个核心过程,因此没有在前面的MapReduce作业提交的过程中描述,而是单独拿出来比较详细的描述。 根据官方的流程图示如下:

    <img
      loading="lazy"
      decoding="async"
      alt=""
      
        class="image_figure image_internal image_unprocessed" …</picture></figure></p>

    Read More
  • 【hadoop代码笔记】hadoop作业提交之汇总

    calendar Feb 1, 2014 · 1 min read · hadoop java mapreduce 源码  ·
    Share on: twitter facebook linkedin copy

    一、概述 在本篇博文中,试图通过代码了解hadoop job执行的整个流程。即用户提交的mapreduce的jar文件、输入提交到hadoop的集群,并在集群中运行。重点在代码的角度描述整个流程,有些细节描述的并不那么详细。 汇总的代码流程图附件:hadoop_mapreduce_jobsubmit 二、主要流程 Jobclient通过RPC方式调用到jobtracker的submitJob方法提交作业,包括作业的jar、分片和作业描述。 JobTracker的submitJob方法吧job加入到内存队列中,由独立的线程取出每个JobInProgress的对象调用其initTasks方法,根据传入的作业分片创建对应数量 …


    Read More
  • 【hadoop代码笔记】Hadoop作业提交之Child启动reduce任务

    calendar Jan 23, 2014 · 24 min read · hadoop java mapreduce 源码  ·
    Share on: twitter facebook linkedin copy

    一、概要描述 在上篇博文描述了TaskTracker启动一个独立的java进程来执行Map任务。接上上篇文章,TaskRunner线程执行中,会构造一个java –D** Child address port tasked这样第一个java命令,单独启动一个java进程。在Child的main函数中通过TaskUmbilicalProtocol协议,从TaskTracker获得需要执行的Task,并调用Task的run方法来执行。在ReduceTask而Task的run方法会通过java反射机制构造Reducer,Reducer.Context,然后调用构造的Reducer的run方法执行reduce操作。不同于map任务,在执 …


    Read More
  • 【hadoop代码笔记】hadoop作业提交之Child启动map任务

    calendar Jan 22, 2014 · 7 min read · hadoop java mapreduce 源码  ·
    Share on: twitter facebook linkedin copy

    一、概要描述 在上篇博文描述了TaskTracker启动一个独立的java进程来执行Map或Reduce任务。在本篇和下篇博文中我们会关注启动的那个入口是org.apache.hadoop.mapred.Child的这个Java进程是如何执行用户定义的map或Reduce任务的。 接上篇文章,TaskRunner线程执行中,会构造一个_java –D** Child address port tasked_这 样第一个java命令,单独启动一个java进程。在Child的main函数中通过TaskUmbilicalProtocol协议,从 TaskTracker获得需要执行的Task,并调用Task的run方法来执行,而Task …


    Read More
  • 【hadoop代码笔记】hadoop作业提交之TaskTracker 启动task

    calendar Jan 21, 2014 · 5 min read · hadoop java mapreduce 源码  ·
    Share on: twitter facebook linkedin copy

    一、概要描述 在上篇博文描 述了TaskTracker从Jobtracker如何从JobTracker获取到要执行的Task。在从JobTracker获取到 LaunchTaskAction后,执行addToTaskQueue方法来把要执行的Task加入到queue。在本篇博文中,我们来关注下该方法 后,TaskTracker怎么来处理这些Task。 实际上,TaskTracker初始化时,会初始化并启动两个TaskLauncher类型的线程,mapLauncher,reduceLauncher。在TaskTracker从JobTracher获取到任务后,对应的会把任务添加到两个 TaskLauncher的Queue中,其实 …


    Read More
  • 【hadoop代码笔记】hadoop作业提交之Job初始化

    calendar Jan 19, 2014 · 3 min read · hadoop java mapreduce 源码  ·
    Share on: twitter facebook linkedin copy

    一、概要描述 在上一篇博文中主要描述了JobTracker和其几个服务(或功能)模块的接收到提交的job后的一些处理。其中很重要的一部分就作业的初始化。因为代码片段图的表达问题,本应该在上篇描述的内容,分开在本篇描述。 二、 流程描述 代码也接上文的最后一个方法EagerTaskInitializationListener的 jobAdded方法把JobInProgress类型的job放到List类型的 jobInitQueue中,有个单独的线程会对新加入的每个job进行初始化,其初始化调用的方法就是JobInProgress的方法 initTasks。 在JobInProgress的方法initTasks方法中,会根据传入的作业分 …


    Read More
  • 【hadoop代码笔记】hadoop作业提交之TaskTracker获取Task

    calendar Jan 18, 2014 · 13 min read · hadoop java mapreduce 源码  ·
    Share on: twitter facebook linkedin copy

    一、概要描述 在上上一篇博文和上一篇博文中 分别描述了jobTracker和其服务(功能)模块初始化完成后,接收JobClient提交的作业,并进行初始化。本文着重描 述,JobTracker如何选择作业的Task分发到TaskTracker。本文只是描述一个TaskTracker如何从JobTracker获取 Task任务。Task任务在TaskTracker如何执行将在后面博文中描述。 二、 流程描述 TaskTracker在run中调用offerService()方法一直死循环的去连接Jobtracker,先Jobtracker发送心跳,发送自身状态,并从Jobtracker获取任务指令来执行。 在JobTracker …


    Read More
  • 【hadoop代码笔记hadoop作业提交之JobTracker等相关功能模块初始化

    calendar Jan 17, 2014 · 2 min read · hadoop java mapreduce 源码  ·
    Share on: twitter facebook linkedin copy

    一、概要描述 本文重点描述在JobTracker一端接收作业、调度作业等几个模块的初始化工作。想过模块的介绍会在其他文章中比较详细的描述。受理作业提交在下一篇文章中会进行描述。 为了表达的尽可能清晰一点只是摘录出影响逻辑流转的主要代码。重点强调直接的协作调用,每个内部完成的逻辑(一直可以更细的说明、有些细节可能自己也理解并不深刻:-()在后续会描述。 主要包括JobTracker、TaskScheduler(此处以FairScheduler为例)、JobInProgressListener(以用的较多的EagerTaskInitializationListener为例)、TaskSelector(以最简单 …


    Read More
  • 【hadoop代码笔记】Hadoop作业提交之客户端作业提交

    calendar Jan 16, 2014 · 3 min read · hadoop java mapreduce 源码  ·
    Share on: twitter facebook linkedin copy

    一、概要描述 仅仅描述向Hadoop提交作业的第一步,即调用Jobclient的submitJob方法,向Hadoop提交作业。 二、 流程描述 Jobclient使用内置的JobSubmissionProtocol 实例jobSubmitClient 和JobTracker交互,最主要是提交作业、获取作业执行信息等。 在JobClient中作业提交的主要过程如下: 1)通过调用JobTracker的getNewJobId()向jobtracker请求一个新的作业ID 2)获取job的jar、输入分片、作业描述等几个路径信息,以jobId命名。 3)其中getSystemDir()是返回jobtracker的系统目录,来放置job相 …


    Read More
  • 【hadoop代码笔记】hadoop作业提交之JobTracker接收作业提交

    calendar Jan 16, 2014 · 3 min read · hadoop java mapreduce 源码  ·
    Share on: twitter facebook linkedin copy

    一、概要描述 在上一篇博文中主要描述了JobTracker接收作业的几个服务(或功能)模块的初始化过程。本节将介绍这些服务(或功能)是如何接收到提交的job。本来作业的初始化也可以在本节内描述,但是涉及到JobInProgress的初始化过程放在一张图上太拥挤,就分开到下一篇文章中描述。 二、 流程描述 JobClient通过RPC的方式向JobTracker提交作业; 调用JobTracker的submitJob方法。该方法是JobTracker向外提供的供调用的提交作业的接口。 submit方法中调用JobTracker的addJob方法。 在addJob方法中会把作业加入到集合中供调度,并会触发注册 …


    Read More
    • ««
    • «
    • 1
    • 2
    • »
    • »»

Recent Posts

  • 云原生工程师入坑AI深度学习系列(二):给昌子解释DeepSeek的模型蒸馏
  • 今天起,我就成了您
  • 云原生工程师入坑AI深度学习系列(一):从线性回归入门神经网络
  • 豆哥国庆环太湖Day5:西山岛(苏州-太湖-杭州)
  • 豆哥国庆环太湖Day4:渔洋山(常州-太湖-苏州)
  • 豆哥国庆环太湖Day3:恐龙园(常州-常州-常州)
  • 豆哥国庆环太湖Day2:三国城(宜兴-无锡-常州)
  • 豆哥国庆环太湖Day1:遇太湖(杭州-湖州-宜兴)

Categories

ISTIO 45 服务网格 44 随笔 23 图书 17 ENVOY 16 HADOOP 12 ISTIO权威指南 11 演讲 10 数据库 7 豆哥 7 云原生服务网格ISTIO原理实践架构与源码解析 6 发表 6 机器学习 5 JAVA 4
All Categories
AI2 ENVOY16 GOLANG3 HADOOP12 ISTIO45 ISTIOCON3 ISTIO权威指南11 JAVA4 JVM1 KARMADA1 KUBECON4 KUBERNETES3 SERVICEMESHCON1 云原生2 云原生服务网格ISTIO原理实践架构与源码解析6 分类2 发表6 图书17 并发3 数据库7 服务网格44 机器学习5 演讲10 父亲1 神经网络2 聚类1 豆哥7 铁路1 随笔23
[A~Z][0~9]

Tags

ISTIO 44 服务网格 43 演讲 24 KUBECON 20 随笔 20 JAVA 18 最佳实践 18 图书 17 ENVOY 16 RESPONSEFLAGS 16 访问日志 16 HADOOP 12 MAPREDUCE 12 源码 12
All Tags
123061 AI2 AQS1 AUTHORIZATIONPOLICY1 CERT-MANAGER1 DC2 DEEPSEEK1 DI1 DPE1 ENGLISH1 ENVOY16 EXECUTOR2 FI1 G201 GOLANG3 GRE1 HADOOP12 INFOQ3 ISTIO44 ISTIOCON3 ISTIO权威指南11 JAPANESE1 JAVA18 JVM1 K-MEDOIDS1 KARMADA1 KUBECON20 KUBERNETES3 LINEAR-REGRESSION1 MAPREDUCE12 NC1 NR1 ORACLE3 PILOT2 RESPONSEFLAGS16 RL2 SERVICEENTRY1 SERVICEMESHCON1 SPRING-CLOUD1 SPRINGCLOUD1 UC1 UF1 UH1 UPE1 URX1 UT1 にほんご1 事务1 云原生2 云原生服务网格ISTIO原理实践架构与源码解析6 信2 军训2 分类2 发表1 国际米兰1 图书17 垃圾回收1 多集群2 太湖5 安全2 并发3 微服务1 执行计划1 数据库1 新冠1 旅游5 日语1 昌子1 最佳实践18 服务网格43 机器学习2 案例4 模型蒸馏1 深度学习2 源码12 演讲24 父亲1 祖母2 神经网络2 程序员3 索引3 聚类1 表连接1 西安1 访问日志16 语言6 调用链2 豆哥10 足球1 铁路2 随笔20 韧性1
[A~Z][0~9]
浙ICP备18050493号-1 浙公网安备 33010802006262号

Copyright  浙ICP备18050493号-1 浙公网安备 33010802006262号. All Rights Reserved

to-top