管理集群
本文介紹如何管理Databricks集群,包括顯示、編輯、啟動、終止、刪除、控製訪問以及監視性能和日誌。
顯示集群
請注意
本文描述了遺留的cluster UI。有關預覽UI的詳細信息,包括集群訪問模式的術語更改,請參見創建一個集群.
要在工作區中顯示集群,請單擊計算在側邊欄。
“計算”頁麵以兩個選項卡顯示集群:通用的集群而且工作的集群.
左邊有兩列表示集群是否被固定,以及集群的狀態:
在最右邊的右邊通用的集群TAB是一個可以用來終止集群的圖標。
你可以使用三鍵菜單來重新啟動,克隆,刪除,或編輯權限集群。不可用的菜單選項顯示為灰色。
的通用的集群TAB顯示筆記本的數量附加到集群。
銷一個集群
集群終止30天後,將被永久刪除。即使在一個集群已經完成之後,也要保持一個通用集群配置終止超過30天,一個管理員可以固定集群.最多可固定100個集群。
您可以從集群列表或集群詳情頁麵固定一個集群:
以JSON文件的形式查看集群配置
有時,將集群配置視為JSON會很有幫助。方法創建類似的集群時,這尤其有用集群API 2.0.查看現有集群時,隻需轉到配置選項卡上,單擊JSON在標簽的右上角,複製JSON,並將其粘貼到您的API調用中。JSON視圖是現成的。
編輯一個集群
您可以從集群詳細信息頁麵編輯集群配置。在“計算”頁麵,單擊集群名稱,進入集群詳情頁麵。
方法也可以調用編輯API端點以編程方式編輯集群。
請注意
附加到集群的筆記本和作業在編輯後仍然是附加的。
在編輯之後,安裝在集群上的庫將保持安裝狀態。
如果編輯正在運行的集群的任何屬性(集群大小和權限除外),必須重新啟動它。這可能會中斷當前正在使用集群的用戶。
您隻能編輯正在運行或已終止的集群。不過,您可以進行更新權限用於不在集群詳細信息頁麵上的狀態的集群。
有關可以編輯的集群配置屬性的詳細信息,請參見配置集群.
克隆一個集群
您可以通過克隆現有集群來創建新的集群。
從集群列表中,單擊三按鈕菜單並選擇克隆從下拉菜單。
在集群詳細信息頁麵中,單擊並選擇克隆從下拉菜單。
打開預先填充了集群配置的集群創建表單。克隆中不包含現有集群中的以下屬性:
集群的權限
安裝庫
連接筆記本電腦
控製對集群的訪問
中的集群訪問控製管理控製台允許管理員和委托用戶向其他用戶提供細粒度的集群訪問。集群訪問控製有兩種類型:
集群創建權限:管理員可以選擇允許哪些用戶創建集群。
集群級權限:具有可以管理對集群的權限可以配置其他用戶是否可以從集群列表或集群詳細信息頁麵附加到該集群、重新啟動、調整大小和管理該集群。
在集群列表中單擊Kebab菜單(/_static/images/clusters/cluster-3-buttons.png)並選擇編輯權限.
在集群詳細信息頁麵中,單擊並選擇權限.
要了解如何配置集群訪問控製和集群級權限,請參見集群訪問控製.
開始一個集群
除了創建一個新的集群,您還可以啟動一個先前的集群終止集群。這允許您使用原始配置重新創建先前終止的集群。
您可以從集群列表、集群詳細信息頁麵或記事本啟動集群。
從集群列表中啟動集群,單擊箭頭:
單擊,在集群詳情頁麵啟動集群開始:
若要從筆記本啟動集群,請單擊連接下拉菜單放在筆記本上麵。在那裏可以選擇要附加到筆記本上的集群。
方法也可以調用開始API端點以編程方式啟動集群。
Databricks用惟一的集群ID.當啟動一個終止的集群時,Databricks會使用相同的ID重新創建集群,自動安裝所有庫,並重新連接筆記本。
終止一個集群
為了節省集群資源,可以通過終止集群來實現。一個終止的集群不能運行筆記本或作業,但是它的配置被存儲,因此它可以運行重用(或者在某些類型的工作中-自動啟動)稍後再談。您可以手動終止集群,也可以配置集群在指定的靜止時間後自動終止。Databricks在集群終止時記錄信息。當終止的集群數量超過150個時,刪除最老的集群。
除非一個集群固定當集群被終止30天後,該集群將被自動永久刪除。
終止的集群出現在集群列表中,在集群名稱左側有一個灰色圓圈。
自動終止
您還可以為集群設置自動終止。在創建集群期間,可以指定不活動時間(以分鍾為單位),在此之後希望集群終止。如果當前時間與在集群上運行的最後一個命令之間的差值大於指定的不活動時間,Databricks將自動終止該集群。
當集群上的所有命令(包括Spark作業、結構化流和JDBC調用)都已執行完畢時,集群就被認為是不活動的。這並不包括通過SSH-ing運行到集群和運行bash命令的命令。
警告
集群不報告使用DStreams產生的活動。這意味著自動終止集群可能在運行DStreams時被終止。關閉運行DStreams的集群的自動終止,或者考慮使用結構化流。
自動終止特性隻監視Spark任務,不監視用戶定義的本地進程。因此,如果所有Spark任務都已完成,即使本地進程正在運行,集群也可能被終止。
空閑集群在終止前的不活動期間繼續累積DBU和雲實例費用。
刪除一個集群
刪除集群將終止集群並移除其配置。
警告
您無法撤消此操作。
您不能刪除固定集群。要刪除固定的集群,必須先由管理員解除固定。
從集群列表中,單擊三按鈕菜單並選擇刪除從下拉菜單。
在集群詳細信息頁麵中,單擊並選擇刪除從下拉菜單。
方法也可以調用永久刪除API端點以編程方式刪除集群。
重新啟動集群,用最新的映像更新它
當您重新啟動集群時,它將獲得計算資源容器和虛擬機主機的最新映像。為長時間運行的集群安排定期重啟特別重要,這通常用於處理流數據等一些應用程序。
您有責任定期重新啟動所有計算資源,以保持映像使用最新的映像版本。
重要的
如果啟用合規安全概要對於您的帳戶或工作空間,長時間運行的集群將在25天後自動重啟。Databricks建議管理員在集群運行25天之前重新啟動集群,並在計劃的維護窗口中執行此操作。這降低了自動重新啟動破壞預定作業的風險。
重啟集群有以下幾種方式:
在集群詳情頁麵通過UI重新啟動集群。在“計算”頁麵,單擊集群名稱,進入集群詳情頁麵。點擊重新啟動.
使用集群API重新啟動集群。
使用Databricks提供的腳本確定您的集群運行了多長時間,並可選地重新啟動它們如果它們超過了自啟動以來的指定天數
運行一個腳本來確定集群已經運行了多少天,並可選地重新啟動它們
如果您是一名工作空間管理員,您可以運行一個腳本來確定每個集群已經運行了多長時間,如果它們超過指定的天數,則可以選擇重新啟動它們。Databricks將此腳本作為筆記本提供。
腳本的第一行定義了配置參數:
min_age_output
:集群可運行的最大天數。默認值為1。perform_restart
:如果真正的
,腳本將重新啟動年齡大於指定天數的集群min_age_output
.默認值是假
,它標識長時間運行的集群,但不重新啟動它們。secret_configuration
:替換REPLACE_WITH_SCOPE
而且REPLACE_WITH_KEY
與一個秘密作用域和密鑰名稱.要了解更多設置秘密的細節,請參閱筆記本。
警告
如果你設置perform_restart
來真正的
,腳本會自動重新啟動符合條件的集群,這可能會導致活動的作業失敗並重置打開的筆記本。要降低中斷工作區業務關鍵作業的風險,請計劃一個定期維護窗口,並確保通知工作區用戶。
在Apache Spark界麵中查看集群信息
您可以在Spark界麵中查看Spark任務的詳細信息火花UI頁簽。
您可以獲得活動集群和終止集群的詳細信息。
如果重新啟動已終止的集群,Spark界麵顯示的是重新啟動後的集群信息,而不是被終止的集群的曆史信息。
查看集群日誌
Databricks提供了三種與集群相關的活動日誌:
集群事件日誌,它們捕獲集群生命周期事件,如創建、終止、配置編輯等。
Apache Spark驅動程序和工作日誌,您可以使用它進行調試。
集群的初始化腳本日誌,對於調試初始化腳本很有價值。
本節討論集群事件日誌和驅動程序和工作者日誌。關於初始腳本日誌的詳細信息,請參見Init腳本日誌.
集群事件日誌
集群事件日誌顯示由用戶操作手動觸發或由Databricks自動觸發的重要集群生命周期事件。這些事件會影響整個集群的運行以及集群中運行的作業。
有關受支持的事件類型,請參閱REST APIClusterEventType數據結構。
事件存儲60天,這與Databricks中的其他數據保留時間相當。
集群驅動程序和工作者日誌
從筆記本、作業和庫中直接打印和記錄語句到Spark驅動程序日誌。這些日誌有三個輸出:
標準輸出
標準錯誤
Log4j日誌
您可以從司機日誌頁簽。單擊日誌文件名下載日誌文件。
您可以通過Spark界麵查看Spark worker的日誌。你也可以配置日誌傳遞位置集群。worker和cluster日誌都被發送到您指定的位置。
監視性能
為了幫助您監視Databricks集群的性能,Databricks提供了訪問神經節來自集群詳細信息頁麵的度量。
你可以安裝Datadog代理群集節點上發送datdog指標到您的datdog帳戶。
解除現貨實例
請注意
此特性在Databricks Runtime 8.0及以上版本中可用。
因為現貨實例為了降低成本,使用現場實例而不是按需實例創建集群是運行作業的常用方法。但是,現場實例可以被雲提供者調度機製搶占。搶占spot實例會導致正在運行的作業出現問題,包括:
洗牌獲取失敗
洗牌數據丟失
抽樣數據丟失
工作的失敗
您可以啟用退役來幫助解決這些問題。退役利用雲提供商通常在退役現場實例之前發送的通知。當包含執行程序的現場實例收到搶占通知時,退役進程將嚐試將shuffle和RDD數據遷移到健康的執行程序。最終搶占之前的持續時間通常為30秒到2分鍾,具體取決於雲提供商。
Databricks建議在啟用退役時啟用數據遷移。一般情況下,隨著遷移數據的增多,出現錯誤的可能性會降低,包括shuffle抓取失敗、shuffle數據丟失、RDD數據丟失等。數據遷移還可以減少重新計算,節省成本。
退役是最好的方法,並不能保證在最終搶占之前遷移所有數據。當運行的任務正在從執行器獲取shuffle數據時,退役不能保證不會出現shuffle獲取失敗。
啟用退役後,由現場實例搶占導致的任務失敗不會被添加到失敗嚐試的總數中。搶占導致的任務失敗不被計算為失敗的嚐試,因為失敗的原因是任務外部的,不會導致作業失敗。
要啟用退役,需要在創建集群時設置Spark配置設置和環境變量:
啟用應用程序退役:
火花.解除.啟用真正的
使用實例在退役過程中啟用shuffle數據遷移。
火花.存儲.解除.啟用真正的火花.存儲.解除.shuffleBlocks.啟用真正的
啟用退役時RDD緩存數據遷移功能。
請注意
當RDD StorageLevel複製設置為大於1時,Databricks不建議啟用RDD數據遷移,因為副本可以確保RDD不會丟失數據。
火花.存儲.解除.啟用真正的火花.存儲.解除.rddBlocks.啟用真正的
為工人啟用退役:
SPARK_WORKER_OPTS=“-Dspark.decommission.enabled = true”
設置這些自定義Spark配置屬性:
在新的集群頁麵,點擊高級選項切換。
單擊火花選項卡。
要從UI訪問工作人員的退役狀態,請導航到Spark Cluster UI - Master標簽:
當退役結束時,退役的執行器在Spark UI > Executors在集群詳情頁麵的TAB: