大数据测试学习笔记之监控工具Dr.Elephant

大数据测试学习笔记之监控工具Dr.Elephant

随着大数据测试方面的学习扩展得越来越多,开始找了些关于大数据技术方面的监控工具,本文主要介绍linkedin开源的Dr.Elephant监控工具。

介绍

一句话介绍:

Dr.Elephant是Apache Hadoop和Apache Spark的job级和工作流级性能监视和调优工具。

由Linkedin开源贡献,github地址为:

https://github.com/linkedin/dr-elephant

定位: 成一个对Hadoop和Spark任务进行性能监控和调优的工具,能够自动收集Hadoop平台所有的度量标准,并对收集的数据进行分析,并将分析结果以一种简单且易于理解的形式展示出来。

为什么选择介绍Dr.Elehant

对于常规的cpu、io、memory等指标的监控,软件测试人员可以数出大量的工具,而对于针对大数据job和工作流级的监控工具估计很多人都不知道了,最近通过在github上搜索相关资源,发现了Dr.Elehant,对其相关文档做了大概的阅读,选择了这款工具作为后续大数据测试学习的一个选择,以便后续在实践过程中能够更好的采集测试指标用于分析。

Dr.Elephant是如何工作的

Dr.Elephant周期性的从Yarn的Resource Manager获取所有最近成功和失败的应用程序列表。

从Job历史列表中获取每个应用的元数据:counter、配置、任务数据。

一旦它拥有所有的元数据,Dr.Elephant便运行一组启发式(heuristics),并产生对单个启发式和任务整体性能的诊断报告。

然后,报告中用五个严重性级别来标记不同的结果,以表明潜在的性能问题。

核心功能

  • 启发式算法是基于规则的,且是插件式、可配置的,具有良好扩展性,能分析各种各样的框架
  • 创造性的和Azkaban调度器集成,并且支持任意一种Hadoop任务调度器,例如Oozie
  • 能自动统计所有历史任务的性能
  • 能实现Job级别的任务流性能比较
  • 对Hadoop和Spark任务能进行性能诊断
  • 具有良好的扩展性,能支持新种类的任务、应用和调度器
  • 提供REST API,用户能够通过API获取所有信息

首页

Dr.Elephant启动后,首页如下:

任务详情

重点看下任务详情,这个是日常测试过程中非常关注的部分:

点击一个任务,可以进入任务详情页面。

在任务详情,可以看到如下信息:

  • 任务追踪链(Jobtracker):这个链接指向任务的追踪页面。在这个页面上,可以看到任务的详细信息、日志、map和reduce的task信息。
  • 任务执行链(Job execution):这个链接指向任务在调度器中的执行页面。例如,在Azkaban调度器上,指向这个任务的执行链接。
  • 任务定义(Job definition):这个链接指向任务在调度器中的定义页面。例如,在Azkaban调度器上,指向这个任务的属性页面。
  • 任务流执行链(Flow execution):这个链接指向整个任务流的执行页面。例如,在Azkaban调度器上,指向这个任务流的执行页面。
  • 任务流定义(Flow definition):同前面的任务定义(Job definition),这个链接指向任务流的定义页面。
  • 任务历史(Job history):这个链接指向任务历史页面。
  • 任务流历史(Flow history):这个链接指向任务流历史页。

任务等级

Dr.Elephant提供了5个等级待优化的迫切性降序为:CRITICAL > SEVERE > MODERATE > LOW > NONE

下表为详情说明:

等级

描述

RITICAL

任务需要迫切的进行优化

SEVERE

任务存在很大的可优化空间

MODERATE

任务有待进一步优化

LOW

任务存在很小的可优化空间

NONE

任务很安全,不需要优化

总结

对Dr.Elephant的学习有待进一步花时间,当前先记录这些,后续进一步学习和完善。

原文发布于微信公众号 - 开源优测(DeepTest)

原文发表时间:2018-03-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小狼的世界

[每天五分钟,备战架构师-8]数据库系统

对于IT从业人员,一定听到过数据库的概念。顾名思义,数据库系统就是管理数据存储的软件。本篇就软件等级考试相关的数据库系统知识从整体上进行总结,方便大家复习。

16410
来自专栏PPV课数据科学社区

实用 | Apache Hadoop 3.0.0-alpha2版本发布

作者:Andrew Wang,Ray Chiang Andrew Wang是Cloudera公司HDFS团队的一名软件工程师、Apache Hadoop PMC...

29640
来自专栏Golang语言社区

游戏系统设计

一、 服务器 1、逻辑与数据分离 2、读写分离 3、服务器分层 4、分区容错 HA a.路由服务器组 *1, 做到AB测试,添加功能开关,策略选择灰度测试发布。...

44970
来自专栏人工智能头条

Meson:Netflix即将开源的机器学习工作流编排工具

27030
来自专栏京东技术

闲话高并发的那些神话,看京东架构师如何把它拉下神坛

高并发也算是这几年的热门词汇了,尤其在互联网圈,开口不聊个高并发问题,都不好意思出门。高并发有那么邪乎吗?动不动就千万并发、亿级流量,听上去的确挺吓人。但仔细想...

35840
来自专栏个人分享

分布式系统常用思想和技术

感谢该作者的总结,转载地址:http://blog.arganzheng.me/  本人将重点进行加粗,便于大家一起查阅学习

16930
来自专栏玉树芝兰

如何用iPad运行Python代码?

(由于微信公众号外部链接的限制,文中的部分链接可能无法正确打开。如有需要,请点击文末的“阅读原文”按钮,访问可以正常显示外链的版本。)

80920
来自专栏黄奕坤的专栏

火焰图性能调优记

最近手头开发维护的一个辅助小工具经常接到投诉可用性问题, 于是抽时间定位了下, 一看吓一跳, 起初不起眼的一个组件的日志量直接翻了两个数量级。 这怎么吃得消 !

88420
来自专栏嵌入式程序猿

你的代码敢上Polyspace跑吗?

嵌入式代码动态验证 在嵌入式开发中,代码静态分析工具相信大家应该都熟悉,都用过像PClint,understand C等,但对于动态验证,运行时错误验证工具还是...

87260
来自专栏玉树芝兰

如何用R和API免费获取Web数据?

API是获得Web数据的重要途径之一。想不想了解如何用R调用API,提取和整理你需要的免费Web数据呢?本文一步步为你详尽展示操作流程。

15720

扫码关注云+社区

领取腾讯云代金券