2016-11-25 17 views
1

生產系統上執行代碼:HDP-2.5.0.0使用Ambari 2.4.0.1可以在eclipse/IntelliJ IDEA的被用於羣集

豐富地需求在未來用於執行一系列代碼(Java的MR等,斯卡拉,Spark,R)在HDP之上,但是從桌面Windows機器IDE。

對於Spark和R,我們有R-Studio設置。

挑戰在於Java,Scala等等,人們還使用Eclipse的一系列IDE到IntelliJ Idea。

我知道Eclipse Hadoop插件沒有被主動維護,並且在使用最新版本的Hadoop,IntelliJ Idea時也有很多錯誤,我無法從官方網站找到可靠的輸入。

我相信Hive和HBase客戶端API是從Eclipse等連接的可靠方式,但我對執行MR或其他自定義Java/Scala代碼持懷疑態度。

我提到了thisthis這幾個線程,但是我仍然有一個問題,就是像Eclipse/Intellij Idea這樣的IDE有對Hadoop的官方支持嗎?即使Spring Data for Hadoop似乎失去了牽引力,它反正沒有像2年前預期的那樣工作;)

作爲一個現實的選擇,應該使用哪個工具/插件/庫來測試MR和其他Java/Scala代碼在本地「,即在臺式機上使用獨立版本的羣集?

注意:我不希望在沙箱中工作,它關於連接到產品。直接羣集。

回答

0

我不認爲有一個基本的解決方案可以平等地用於所有Hadoop服務。每個解決方案都有自己的開發,測試和部署方案,因爲它們是不同的獨立產品。對於MR案例,您可以使用MRUnit來從IDE本地模擬您的工作。另一種選擇是LocalJobRunner。它們都允許您直接從IDE檢查您的MR邏輯。對於Storm,您可以使用backtype.storm.Testing庫來調整拓撲的工作流程。但是它們都是在沒有直接集羣通信的情況下從IDE使用的,例如wuth Spark和RStudio集成。

至於MR建議,您的工作理想情況下應該通過以下生命週期 - 使用MRUnit在本地編寫作業並進行測試,然後您應該在某些開發集羣上運行一些測試數據(請參閱MiniCluster作爲選項),並在然後使用一些自定義計數器在真正的羣集上運行,這將幫助您找到格式錯誤的數據並正確維護作業。