2016-09-19 62 views
0

是否有推薦的方法來應用Zeppelin(使用scala)在紗線上殺死紗線?在火花外殼我用通過Zeppelin應用殺死紗線上的火花

:q 

,並完全退出外殼,殺死上線的應用,unreserves我用的內核。

我發現我可以使用

sys.exit 

它確實成功擊殺紗線的應用,但它也引發一個錯誤,並要求我重新解釋,如果我要開始一個新的會話。如果我正在使用同一個解釋器的單獨實例主動運行另一個筆記本,那麼sys.exit並不理想,因爲在完成第二個筆記本中的工作之前,我無法重新啓動解釋器。

+0

這看起來像這個問題沒有一個簡單的答案。如果我可以添加後續任務,是否有人明白爲什麼:q不工作或不知道如何使用冒號命令:q在zeppelin中工作?它們在某種程度上是特定於REPL的,而齊柏林飛船無法複製。 – pwb2103

回答

0

您可能想要轉到YARN UI並在那裏殺死該應用程序。它應該在主名稱節點的端口8088上運行。但是,這也需要重新啓動服務。

雖然理想情況下你讓YARN處理這個問題。僅僅因爲Zeppelin會以指定數量的執行器和內核啓動Spark,並不意味着這些按您想象的方式「保留」。這些內核仍可用於其他容器。 YARN很好地管理這些資源。除非你有一個有限的集羣和/或正在做的事情需要從YARN進行每一次資源管理,否則你應該放棄使用Zeppelin單獨使用的Spark應用程序。

+0

也許我們在集羣上有不同的YARN設置。如果我有一個應用程序在YARN上運行並保留了x個內核,那麼這些內核不可供其他用戶使用。如果有足夠的用戶運行應用程序以保留羣集中的所有內核,那麼任何其他應用程序都必須等到核心釋放後才能運行應用程序。通過UI殺死應用程序與紗線應用程序-kill實際上是一樣的,正如你指出的那樣,它可以工作,但並不比sys.exit好。 – pwb2103

0

您可以嘗試重新啓動Zeppelin Spark解釋器(可從解釋器設置頁面內完成)。這應該會殺死Zeppelin應用程序,但只會重新啓動解釋程序(並因此重啓Zeppelin應用程序),當您再次嘗試執行段落時。

+0

感謝您的回答!面臨的挑戰是我正在尋找更像sys.exit的東西,這會在執行段落時殺死紗線應用程序。當我在一天結束的時候開始幾段很長的段落,然後想在段落完成後讓我的紗線應用程序被殺死時,這會很有幫助。另外,正如我上面提到的那樣,sys.exit唯一的缺點是我必須在使用它之後重新啓動解釋器,我試圖避免在我使用同一個解釋器運行多個筆記本時 – pwb2103