Dr. Elephant:Hadoop和Spark的优化“神器”

美国加州软件公司Pepperdata的应用程序分析软件建立在Dr. Elephant(Dr. Elephant 是Hadoop和Spark的性能监视和调优工具)开源项目上。主要目的是让更多的Hadoop和Spark应用程序投入生产。

Pepperdata的应用程序分析器作为早期访问版本,基于去年推出的Apache开源项目Dr. Elephant。Dr. Elephant项目的贡献者包括Airbnb,Foursquare,Pepperdata等。

Dr. Elephant软件通过活动日志解析,适用于已知的良好部署规则,并提供有关Hadoop应用程序运行状况的报告。 这可能是试图运行多个Hadoop作业的团队的有效措施。通常,这样的团队几乎没有指导,需要深层次的Java编程技能来确定其Hadoop集群的效率。

加州LinkedIn公司的高级软件工程师Carl Steinbach表示,去年开源后,Apache Spark部署规则已被添加到Dr. Elephant中,支持Oozie和Airflow工作流调度程序。Spark历史记录器的增强功能现在也是包的一部分。

Steinbach说,实际上,Dr. Elephant承担了审查工作表现和建议调查工作的艰巨任务。Dr. Elephant使你不必学习如何调整工作,它会告诉你为什么需要作出改变。Steinbach说:“你甚至不需要Java工程师。”

基于Steinbach的经验,程序员调整Hadoop的能力是非常重要的。作为LinkedIn Hadoop开发团队的技术主管,Steinbach及其同事在许多Hadoop应用程序中投入使用。他们参加了许多代码审查会议,并提出了结合Dr. Elephant的一些最佳做法,所以更多的程序员可以在Hadoop的生产中取得成功。

及时修复问题
Steinbach表示,他已经在LinkedIn上看到了积极的效果,因为Dr. Elephant的使用已经扩大。这是因为它在大数据集群上运行的其他作业的上下文中提供了单独的作业配置文件。

Steinbach说:“你不仅可以看到你的工作,也可以看到其他人的工作。而且,如果看到工作出现问题,就会给我们带来一种积极的压力,然后进行及时地更正。在这里,‘做正确的事情’意味着对工作表现进行微调。”

Dr. Elephant规则或启发式在某种程度上类似于一年级医学院校的教科书,就像观察症状并提出有效的修复建议。Steinbach说。

例如,Dr. Elephant可能发现的性能瓶颈,包括MapReduce处理偏移问题或太多垃圾收集开销。它在第一种情况下的反应可能是重新分配数据,而在第二种情况下,响应可能是调整Java虚拟机中的垃圾收集设置。

Steinbach表示,自从开源以来,Dr. Elephant已经被应用到更大的大数据工作负载列表中,因此它已经涵盖了更多样化的Hadoop和Spark工作类型。 他指出,Pepperdata已经将补丁提供给了开源项目,并且能够提供重要的新功能。

跟踪群集瓶颈
像Dr. Elephant这样的工具有助于转发DevOps的概念,开发人员在确保应用运行良好方面发挥更大的作用。该工具不需要系统操作员和开发人员之间进行太多繁琐的交流。

Pepperdata公司的首席执行官Ash Munshi表示,应用程序分析工具使开发人员更好地了解实际工作中对DevOps的重要作用,他说,Pepperdata是基于Dr. Elephant的应用程序分析器提供服务,并且它提供了附加的上下文数据,以更好地传达在大数据作业正在运行时在大型集群上发生的情况。它加入了一个Pepperdata软件套件,其中包括一个集群分析器,容量分析器和一个策略执行器。

根据Munshi的说法,到目前为止,Hadoop性能跟踪的很多工具都面向系统运营商,但他表示,他预计开发人员的应用程序分析工具数量将会扩大。

本文转自d1net(转载)

你可能感兴趣的:(大数据,devops,java)