1. timeline是什么
2. timeline能做什么
3. timeline结构
4. timeline怎么配置
 
1). timeline是什么?
它能存储和检索应用当前和历史信息在yarn配置的地址里,它有两个特性:持久化应用特定信息和保存已完成应用的相关信息
 
目前的现状:
1. timeline 服务器的核心功能已完成
2. 它可以工作在安全和非安全的集群上
3. 通用的history server已经构建在timeline store上
4. timeline的的存储可以存在在内存和leveldb的数据库中,后者可以保证重启timeline server后可以保存历史记录
5. 不支持在yarn中安装特定于框架的UIs
6. 应用程序特定的信息只能通过使用json类型内容的RESTful APIs获得
7. timeline server v1的rest api已经声明作为其他rest APIs之一,其兼容性将在将来的版本中维护
8. timeline server单实例限制了服务的可伸缩性,不支持高可用
 
将来计划:
1. 未来版本将引入可扩展且可靠下一代timeline server,"timeline server v2"
2. 扩展应用不能使用timeline server v1 rest API服务的功能,它将包括扩展数据结构以及客户端在时间线服务器实例之间进行故障切换的能力
 
2. timeline能做什么
1. 持久化应用特定信息:
它能收集和检索应用或者框架的完整信息。
例如:
hadoop的MapReduce框架它包含的信息像多少个map tasks,reduce tasks,counters等等
 
应用开发者发布的指定的信息到timeline server通过在application master or application的containers里的timeline client
 
这些信息可以通过rest api可查询,以便由特定应用程序或者框架的uis进行渲染
 
2. 保存已完成应用的相关信息:
jobhistory仅支持MapReduce作业的任务,随着timeline server的出现,应用的history将只是timeline server的一部分
 
通用信息包括应用层数据,比如:
队列名
用户信息以及应用的上下文信息
运行任务的尝试列表
每一个应用尝试的信息
每一个尝试信息下container列表
每个container信息
一般数据由yarn resourcemanager发布到timeline store和由其web ui来显示有关已完成应用程序的信息
 
3. timeline结构
 
Timeline Domain(时间轴域)
Timeline域为Timeline服务器提供了一个命名空间,允许用户托管多个实体,将它们与其他用户和应用程序隔离开来。时间轴服务器安全性在此级别定义。
“域”主要存储所有者信息、读取和写入ACL信息、创建和修改的时间戳信息。每个域由ID标识,该ID在yarn集群中的所有用户中必须是唯一的。
 
Timeline Entity(时间线实体)
时间线实体包含概念实体及其相关事件的元信息。
实体可以是应用程序、应用程序尝试、容器或任何用户定义的对象。
它包含将用于索引时间线存储中的实体的主筛选器。
因此,用户/应用程序应仔细选择要存储的信息作为主筛选器。
剩余的数据可以存储为未索引的信息。每个实体由实体id和实体类型唯一标识。
 
Timeline Events(时间线事件)
时间线事件描述与应用程序的特定时间线实体相关的事件。
用户可以自由定义事件的含义,例如启动应用程序、分配容器、操作失败或其他被认为与用户和群集操作员相关的信息。
 
4. timeline怎么配置
vim yarn-site.xml
 <!--start timeline settings -->
<property>
<description></description>
<name>yarn.timeline-service.hostname</name>
<value>localhost</value>
</property> <property>
<description>Address for the Timeline server to start the RPC server.</description>
<name>yarn.timeline-service.address</name>
<value>${yarn.timeline-service.hostname}:10200</value>
</property> <property>
<description>The http address of the Timeline service web application.</description>
<name>yarn.timeline-service.webapp.address</name>
<value>${yarn.timeline-service.hostname}:8188</value>
</property> <property>
<description>The https address of the Timeline service web application.</description>
<name>yarn.timeline-service.webapp.https.address</name>
<value>${yarn.timeline-service.hostname}:8190</value>
</property> <property>
<description>Handler thread count to serve the client RPC requests.</description>
<name>yarn.timeline-service.handler-thread-count</name>
<value>10</value>
</property> <property>
<description>Enables cross-origin support (CORS) for web services where
cross-origin web response headers are needed. For example, javascript making
a web services request to the timeline server,是否支持请求头跨域</description>
<name>yarn.timeline-service.http-cross-origin.enabled</name>
<value>false</value>
</property> <property>
<description>Comma separated list of origins that are allowed for web
services needing cross-origin (CORS) support. Wildcards (*) and patterns
allowed,#需要跨域源支持的web服务所允许的以逗号分隔的列表</description>
<name>yarn.timeline-service.http-cross-origin.allowed-origins</name>
<value>*</value>
</property> <property>
<description>Comma separated list of methods that are allowed for web
services needing cross-origin (CORS) support.,跨域所允许的请求操作</description>
<name>yarn.timeline-service.http-cross-origin.allowed-methods</name>
<value>GET,POST,HEAD</value>
</property> <property>
<description>Comma separated list of headers that are allowed for web
services needing cross-origin (CORS) support.允许用于web的标题的逗号分隔列表</description>
<name>yarn.timeline-service.http-cross-origin.allowed-headers</name>
<value>X-Requested-With,Content-Type,Accept,Origin</value>
</property> <property>
<description>The number of seconds a pre-flighted request can be cached
for web services needing cross-origin (CORS) support.可以缓存预先传送的请求的秒数</description>
<name>yarn.timeline-service.http-cross-origin.max-age</name>
<value>1800</value>
</property> <property>
<description>向资源管理器和客户端指示是否历史记录-服务是否启用。如果启用,资源管理器将启动
记录工时记录服务可以使用历史数据。同样,当应用程序如果启用此选项,请完成.</description>
<name>yarn.timeline-service.generic-application-history.enabled</name>
<value>true</value>
</property> <property>
<description>Store class name for history store, defaulting to file system store</description>
<name>yarn.timeline-service.generic-application-history.store-class</name>
<value>org.apache.hadoop.yarn.server.applicationhistoryservice.FileSystemApplicationHistoryStore</value>
</property> <property>
<description>向客户端指示是否启用时间线服务。如果启用,最终用户使用的timeline客户端库将发布实体
和事件发送到时间线服务器.</description>
<name>yarn.timeline-service.enabled</name>
<value>true</value>
</property> <property>
<description>Store class name for timeline store.</description>
<name>yarn.timeline-service.store-class</name>
<value>org.apache.hadoop.yarn.server.timeline.LeveldbTimelineStore</value>
</property> <property>
<description>Enable age off of timeline store data.启用timeline时间老化</description>
<name>yarn.timeline-service.ttl-enable</name>
<value>true</value>
</property> <property>
<description>Time to live for timeline store data in milliseconds.timeline时间老化时间</description>
<name>yarn.timeline-service.ttl-ms</name>
<value>6048000000</value>
</property>
<!--end timeline settings --></span>
启动timeline 服务
$HADOOP_YARN_HOME/sbin/yarn-daemon.sh start timelineserver  
 
用户能够通过以下命令访问application的通用历史数据:
$ yarn application -status <Application ID>  
$ yarn applicationattempt -list <Application ID>  
$ yarn applicationattempt -status <Application Attempt ID>  
$ yarn container -list <Application Attempt ID>  
$ yarn container -status <Container ID>  

timeline server介绍的更多相关文章

  1. 八:The YARN Timeline Server

    一.Overview 介绍     yarn timeline server用于存储和检查应用程序过去和现在的信息(比如job history server).有两个功能: 1.Persisting ...

  2. YARN的重启动问题:RM Restart/RM HA/Timeline Server/NM Restart

    ResourceManger Restart ResourceManager负责资源管理和应用的调度,是YARN的核心组件,有可能存在单点失败的问题.ResourceManager Restart是使 ...

  3. HDP3.1 中配置 YARN 的 timeline server 使用外部的 HBase

    HDP3.1 中的 YARN 的 timeline server 默认使用内置的 HBase,不知道为什么,总是过几天就挂掉,暂时还没找到原因.后来想着让它使用外部的 HBase 看看会不会还有此问题 ...

  4. VisualSvn Server介绍

    1 .VisualSvn Server  VisualSvn Server是免费的,而VisualSvn是收费的.VisualSvn是Svn的客户端,和Visual Studio集成在一起,但是不免费 ...

  5. TFS(Team Foundation Server)介绍和入门

    在本文的两个部分中,我将介绍Team Foundation Server的一些核心特征,重点介绍在本产品的日常应用中是怎样将这些特性结合在一起使用的. 作为一名软件开发者,在我的职业生涯中,我常常会用 ...

  6. Windows Server 2016-Nano Server介绍

    WindowsServer 2016 提供了新的安装选项:Nano Server.Nano Server 是针对私有云和数据中心进行优化的远程管理的服务器操作系统. 类似于 Windows Serve ...

  7. Hadoop Shell 介绍

    以 hadoop 2.7.3 为例 bin 目录下是最基础的集群管理脚本, 用户可通过该脚本完成各种功能, 如 HDFS 管理, MapReduce 作业管理等. 作为入门, 先介绍bin 目录下的 ...

  8. fiddler笔记:TimeLine时间轴选项卡

    1.TimeLine选项卡介绍 TimeLine选项卡支持使用"瀑布"模型查看1~250个选中的Session.主要用于帮助性能分析和理解请求之间的关联.选项卡的主体内容是数据流视 ...

  9. ArcGIS API for JavaScript(2)-ArcGIS Server发布要素图层服务

    1.前言 上一篇该系列的文章我们主要讲了一下基础Web地图搭建,这篇我们主要讲一下ArcGIS Server发布服务,并且如何调用服务.将自己的数据加载到Web地图当中来,实现Web端浏览数据. 2. ...

随机推荐

  1. linux C access

    [1]作用 确定文件的访问权限 [2]头文件 #include <unistd.h> [3]函数定义 int access(const char * pathname,  int mode ...

  2. python报错之OSError

    刚刚练一下xlrd模块的时候,竟然报错了! 百度了一下,才知道,是自己直接复制粘贴导致的:最好直接搜索\u202a才找到解决办法 所以只需从写换个地方复制路径或则重新手动输入一次就解决了 参考链接:h ...

  3. Linux中安装Python2.7

    原文地址:http://www.jianshu.com/p/6425d18d3e47   安装依赖的库 yum -y install python-devel openssl openssl-deve ...

  4. Future 示例

    public static Object send(RequestClient request) future.channel().writeAndFlush(JSONObject.toJSONStr ...

  5. 洛谷P2820 局域网 (最小生成树)

    题目链接:https://www.luogu.org/problemnew/show/P2820 题目背景 某个局域网内有n(n<=100)台计算机,由于搭建局域网时工作人员的疏忽,现在局域网内 ...

  6. nodejs笔记之搭建服务器

    简单服务器搭建: 1.新建一个文件:app.js 2.加入实现服务器代码: const http = require("http"); http.createServer(func ...

  7. python 排序算法

    冒泡排序: 一. 冒泡排序的定义 冒泡排序(英语:Bubble Sort)是一种简单的排序算法.它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.遍历数列的工作是重复地进 ...

  8. mysqlbinlog相关

    1.输出binlog到文件mysqlbinlog --base64-output=decode-rows -v /home/mysql/binlog/binlog.000011>/tmp/aa. ...

  9. 编码原则 之 Hollywood Principle

    原文 The Hollywood Principle states, “Don’t Call Us, We’ll Call You.” It’s closely related to the Depe ...

  10. Learning-Python【34】:进程之生产者消费者模型

    一.什么是生产者消费者模型 生产者指的是生产数据的任务,消费者指的是处理数据的任务,在并发编程中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据.同样 ...