【Dr.Elephant中文文档-1】Dr.Elephant简介

简介


Dr. Elephant是一个Hadoop和Spark的性能监控和调优工具。它能自动采集作业的度量指标并分析他,然后以简单明了的方式展现出来。Dr. Elephant的设计思想是通过作业分析结果来指导开发者进行作业调优,从而提升开发者效率和集群资源的利用率。Dr. Elephant使用了一组可配置的插件式启发算法来分析hadoop和spark作业并提供优化建议。然后针对结果数据来建议如何调整作业。这个算法还计算了作业的许多其他度量标准,用来为集群作业优化提供了有价值的参考信息。

为什么要使用Dr.Elephant?

大多数Hadoop优化工具,不管是开源还是商业的,都被设计用来采集系统资源指标和监控集群资源信息。他们大多数专注于简化Hadoop集群的部署和管理。很少有工具来帮助用户优化Hadoop作业流的。少数的几个可用工具要么扩展性差,要么不支持快速发展的Hadoop框架。Dr. Elephant能很好支持Hadoop生态框架以及后续的新框架,同时对Spark的支持也很友好。你同时也可以通过插件的方式配置各种你喜欢的启发式算法。旨在帮助Hadoop和Spark的用户了解他们的内部工作流,并帮助他们轻松优化他们的作业。

核心功能点

基于自定义规则的可配置启发式插件,用于诊断作业任务和Azkaban集成,并支持任何Hadoop调度框架,比如:Oozie统计历史作业和工作流的性能指标Job级别的工作流对比针对MapReduce和Spark的性能诊断具有良好的扩展性,能支持各种新的任务、应用和调度器提供REST API,用户能够通过API获取所有信息

快速入门

用户指南
开发者指南
管理员指南
任务优化技巧

工作原理

Dr. Elephant会定期从YARN资源管理中心拉取近期成功和失败的作业列表。每个任务的元数据信息,计数器,配置及任务信息都可以从历史作业服务器获取到。一旦获取到所有的元数据信息,Dr. Elephant就基于这些元数据运行启发式算法,并生成一份该作业的性能诊断报告。该报告会多作业进行标记并评级,分为五个级别来评定改作业存在的性能问题严重程度。

用例

在LinkedIn,开发者们用Dr. Elephant来处理许多不同的用例,包括监控他们的工作流在集群上的运行情况,通过监控分析了解为什么作业运行较慢,比较作业每次运行的区别,Dr. Elephant的绿色性能指示灯已成为作业符合运行标准的先决条件。

作业性能分析案例

Dr. Elephant的主页或者仪表盘,包含了近期所有作业分析的数据。

一旦一个作业完成运行,我们将能在仪表盘中找到他,或者通过搜索页找到他。作业搜索,可以通过作业id,作业执行的url(如果是通过调度器调度的作业,是有url的),作业的执行者,结束时间,作业类型,甚至通过作业等级来过滤搜索。

搜索结果提供了一份高级的作业分析报告,通过不同的颜色来标识不同的严重性等级用以体现作业的综合性能情况。红色表示作业有严重问题需要调优,绿色表示作业能够高效运行。

通过过滤并找到一个人的作业后,可以获取每个作业的完整报告。该报告包含每个算法的详细信息和链接,并针对改作业提供了相应的优化建议。

文章来源:

Author:hyperxu
link:http://www.hyperxu.com/2018/10/24/dr-elephant-1/