分享

YARN Timeline Server(hadoop2.7.1)——科普篇

helianthus 发表于 2015-12-20 18:40:52 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 2 37081
本帖最后由 helianthus 于 2015-12-20 18:40 编辑
问题导读:
1.YARN Timeline Server是做什么的?
2.YARN Timeline Server和history server有什么区别?






1.背景介绍:

在hadoop2.4版本之前对任务执行的监控只开发了针对MR的Job History Server,它可以提供给用户用户查询已经运行完成的作业的信息,但是后来,随着在YARN上面集成的越来越多的计算框架,比如spark、Tez,也有必要为基于这些计算引擎的技术开发相应的作业任务监控工具,所以hadoop的开发人员就考虑开发一款更加通用的Job History Server,即YARN Timeline Server。

2.Introduction

      <hadoop2.7.1>
       以一种通用的方式向YARN Timeline Server上注册应用程序的当前和历史状态,便于存储和检索。它主要有两大职责:
(1)持久化应用程序的具体信息
       收集并检索应用程序或者框架的具体信息。例如,hadoop MR框架里面的与分片线关系的信息,诸如map tasks、reduce tasks、counters等。应用程序开发者可以在App Master端或者应用程序需的containers中通过TimelineClient将这些信息发送给Timeline Server。
       这些信息都可以通过REST APIs在具体App或者执行框架的UI界面查询到。
(2)持久化已完成的应用程序的Generic information
      关于这一点,在Application history server中,显然只支持MR框架的job。Generic information包括了像*queue-name,*用户信息等用户程序级别的数据,还有设置在ApplicationSubmissionContext中的信息,用于运行应用程序的application-attempts 列表,关于每个application-attempt的信息,container列表以及运行在每个 application-attempt *下的每个container的信息。

3.Timeline Structure
timeline_structure.jpg
(1)Timeline Domain
      Timeline Domain为Timeline Server提供了一个命令空间,使得用户可以搜集多个节点,将它们与其他用户和应用程序隔离开来。Timeline server security就定义在这一层。
     一个Domain首先是用于存储用户的信息、读写ACL信息、创建和修改时间戳。每个Domain以一个唯一的ID在整个YARN集群中标识。
(2)Timeline Entity
      一个Timeline Entity(即Timeline实体)包含一个概念实体的元信息以及它的相关的events.一个实体可以是一个application,一个 application attempt,一个container卓尔其他任何的应用自定义的object。
        它还包含多个Primary filters用于作为timeline store中多个实体的索引。其他的数据可以以非索引的方式存储。每个实体都通过一个EntityId和EntityType唯一的确定。
(3)Timeline Events
       Timeline Events用于描述一个与某个具体Application的timeline实体相关的event。用户也可以随意定义一个event方法,比如启动一个应用程序,获取分配的container、操作失败或者其他的与用户和集群操作相关的失败信息等等。


已有(2)人评论

跳转到指定楼层
马一博 发表于 2016-12-22 23:15:29
不知道版主用过这个timeline server吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条