美國加州軟件公司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性能跟蹤的很多工具都面向系統運營商,但他表示,他預計開發人員的應用程序分析工具數量將會擴大。