Dr.Elephant是一个 Hadoop 和 Spark 的性能监控和调优工具,由 LinkedIn 于 2016 年 4 月份开源。能自动化收集所有计算任务指标,进行数据分析,并以简单易用的方式进行呈现。Dr.Elephant 的目标是提高开发人员的开发效率和增加集群任务调试的高效性。
简而言之,Dr.Elephant是一款适合小白(我就是小白啊)对大数据分析性能做简单优化的工具,并且现在加入了启发式算法对一些任务进行定制化优化(就是告诉你哪个参数改成什么会更好)听起来还是蛮不错的,那就试试看吧。
它用到的依赖还是蛮多的,而且各个版本之间的兼容好像并不是很好,踩了很多的坑才部署起来,目前成功的情况是使用了ubuntu 18.04.2,jdk1.8,activator1.3.12,hadoop2.7.7,mysql8.13,python2.7然后配置文件如下:
按照官方文档一步步佛挡杀佛神挡杀神,好像还注释了tez的配置才编译完成了,目前能够对mapreduce进行分析,运行了几个简单的wordcount任务,界面是这样的:
红色的框框非常醒目,没错,它提醒你有可以优化的部分,wordcount是最简单的job,为啥还能优化呢?因为我为了测试它的能力,故意设置了很低的memory的阈值(就是图中红色的标签),可见,它的诊断效果还是ok的。
带着看了一周的源码,终于弄得差不多了,接下来我会把重要源码的解析贴出来并且尝试一下spark的诊断能力以及Dr.Elephant的启发式算法自动优化功能。
目前这个小东西的团队还是在不断更新的,但是社区不是很活跃,希望以后解决问题不用这么费劲吧。