Application Manager

TensorFlow On Flink 原理解析

馋奶兔 提交于 2020-08-13 09:32:23
作者:陈戊超(仲卓),阿里巴巴技术专家 深度学习技术在当代社会发挥的作用越来越大。目前深度学习被广泛应用于个性化推荐、商品搜索、人脸识别、机器翻译、自动驾驶等多个领域,此外还在向社会各个领域迅速渗透。 背景 当前,深度学习的应用越来越多样化,随之涌现出诸多优秀的计算框架。其中 TensorFlow,PyTorch,MXNeT 作为广泛使用的框架更是备受瞩目。在将深度学习应用于实际业务的过程中,往往需要结合数据处理相关的计算框架如:模型训练之前需要对训练数据进行加工生成训练样本,模型预测过程中需要对处理数据的一些指标进行监控等。在这样的情况下,数据处理和模型训练分别需要使用不同的计算引擎,增加了用户使用的难度。 本文将分享如何使用一套引擎搞定机器学习全流程的解决方案。先介绍一下典型的机器学习工作流程。如图所示,整个流程包含特征工程、模型训练、离线或者是在线预测等环节。 在此过程中,无论是特征工程、模型训练还是模型预测,中间都会产生日志。需要先用数据处理引擎比如 Flink 对这些日志进行分析,然后进入特征工程。再使用深度学习的计算引擎 TensorFlow 进行模型训练和模型预测。当模型训练好了以后再用 tensor serving 做在线的打分。 上述流程虽然可以跑通,但也存在一定的问题,比如: 同一个机器学习项目在做特征工程、模型训练、模型预测时需要用到 Flink 和

Hadoop2之YARN介绍

让人想犯罪 __ 提交于 2020-04-21 03:55:37
Hadoop2之YARN介绍 一、简介 二、ResourceManager 三、NodeManager 四、ApplicationMaster 五、Application Manager 六、Container 七、YARN运行过程 八、Yarn的容错能力 九、Yarn调度器 十、结语 一、简介 Hadoop2.x主要由HDFS、YARN和MapReduce三部分组成,其架构图如图1.1所示。 图1.1Hadoop三大组件架构图 YARN是一个独立的分布式资源管理与调度系统,可以为上层的应用提供统一的资源管理和调度。 其中ResourceManager是负责所有资源的监控、分配和管理;ApplicationMaster负责每一个具体的作业的管理器;NodeManager是每台机器的一个节点管理器,Container是由RM抽象出来的资源(节点、内存、CPU)的封装,关系图如图1.2所示。 图1.2各组件关系图 二、ResourceManager ResourceManager(RM)代替了集群管理器,主要由 ApplicationManager 和 Scheduler 两部分组成, ApplicationManager ApplicationManager主要负责: (1)、接收任务提交( Job-submissions ); (2)、协商 第一个container

Yarn方式下的ScheduleBackend是怎么实现的?

限于喜欢 提交于 2019-11-30 15:08:03
Yarn方式下的ScheduleBackend是用的啥? 在SparkContext中创建ScheduleBackend时,会根据指定的”master“参数的前缀决定创建哪种ScheduleBackend,对于"yarn://host:port"这样的URL来说,如果是cluster模式,就是创建YarnClusterSchedulerBackend,如果是client模式,就是创建YarnClientSchedulerBackend。 我们还是先看看YarnClusterSchedulerBackend的代码结构把。 YarnClusterSchedulerBackend继承了YarnSchedulerBackend,没有太多的发挥代码,我们直接看YarnSchedulerBackend把。估计client模式下也差不多。 YarnSchedulerBackend又继承了CoarseGrainedSchedulerBackend,我们看看不同点在哪里。 覆写了doRequestTotalExecutors和doKillExecutors方法,一个申请Executor,一个杀死Executor。 override def doRequestTotalExecutors(requestedTotal: Int): Future[Boolean] = {