2016-12-06 75 views
2

我有以下情形:運行EMR集羣外星火客戶端和連接到YARN

  1. 我在一家大公司工作。
  2. 我們有一個運行在YARN上的Spark/Hadoop堆棧的EMR集羣。
  3. 我可以通過SSH連接到集羣的主節點,然後從那裏創建Spark shell或者Spark任務,並將其提交給Spark集羣,沒有任何問題。
  4. 但是,我想在我公司的服務器上運行Spark客戶端,因爲我們的所有代碼庫都位於那裏,因此我有能力在該服務器上進行主動開發,因爲我可以克隆並推送到位於該服務器上的存儲庫在我公司的服務器上。我不想將所有的公司代碼轉移到AWS的主節點上進行主動開發。
  5. 那麼,如何修改Spark設置以使用AWS的YARN作爲資源管理器?
  6. 我試圖從EMR集羣的主節點將Spark安裝(在/user/lib/spark)和HADOOP_CONF_DIR(在/etc/hadoop/conf)複製到我公司的服務器,但Spark不識別YARN。

謝謝。

修改:在主題行和正文中將'driver'更改爲'client'。

回答

1

這可以在獨立模式下進行,但不能在紗線模式下進行。

當在紗線模式下運行火花時,它無法控制執行器,AM和駕駛員將坐在哪裏。

Yarn會檢查每個任務節點上的內存使用情況以及數據可用性,並將這些組件計算爲理想狀態。

因此,即使您設法將外部節點添加到紗線(您可以明顯地做到這一點),只需設置適當的配置並在紗線的資源管理器上運行管理員刷新即可。 但是,也不能確保,你的火花驅動程序將在哪裏運行。

更新 完全可以這樣做。這是你需要做的事情。

  1. 安裝livy服務器。這是一個基於休息的Spark通信服務器,與紗線進行交談。如果你有像cloudera或HDP這樣的發行版,只需點擊UI上的一些按鈕即可。
  2. 安裝GUI像Zappelin或Apache Hue,並正確配置它與livy服務器進行通信。

Livy服務器將在您的本地系統或外部節點可以與之通話的開放端口上處於AWS狀態。 Hue或Zappelin可以在你的外部節點上。

相關問題