管理集群

本文介紹如何管理Databricks集群,包括顯示、編輯、啟動、終止、刪除、控製訪問以及監視性能和日誌。

顯示集群

請注意

本文描述了遺留的cluster UI。有關預覽UI的詳細信息,包括集群訪問模式的術語更改,請參見創建一個集群

要在工作區中顯示集群,請單擊計算圖標計算在側邊欄。

“計算”頁麵以兩個選項卡顯示集群:通用的集群而且工作的集群

通用的集群
工作的集群

左邊有兩列表示集群是否被固定,以及集群的狀態:

在最右邊的右邊通用的集群TAB是一個可以用來終止集群的圖標。

你可以使用三鍵菜單三顆紐扣的菜單重新啟動克隆刪除,或編輯權限集群。不可用的菜單選項顯示為灰色。

垂直按鈕圖標

通用的集群TAB顯示筆記本的數量連接筆記本電腦圖標附加到集群。

過濾器集群列表

你可以使用右上角的按鈕和搜索框來篩選集群列表:

過濾器集群

銷一個集群

集群終止30天後,將被永久刪除。即使在一個集群已經完成之後,也要保持一個通用集群配置終止超過30天,一個管理員可以固定集群.最多可固定100個集群。

您可以從集群列表或集群詳情頁麵固定一個集群:

從群集列表中引腳群集

要固定或取消固定一個集群,單擊集群名稱左側的固定圖標。

群集列表中的引腳群集

從集群詳細信息頁麵引腳集群

要固定或取消固定一個集群,單擊集群名稱右側的固定圖標。

在集群細節引腳集群

方法也可以調用API端點以編程方式固定集群。

以JSON文件的形式查看集群配置

有時,將集群配置視為JSON會很有幫助。方法創建類似的集群時,這尤其有用集群API 2.0.查看現有集群時,隻需轉到配置選項卡上,單擊JSON在標簽的右上角,複製JSON,並將其粘貼到您的API調用中。JSON視圖是現成的。

集群配置JSON

編輯一個集群

您可以從集群詳細信息頁麵編輯集群配置。在“計算”頁麵,單擊集群名稱,進入集群詳情頁麵。

集群的細節

方法也可以調用編輯API端點以編程方式編輯集群。

請注意

  • 附加到集群的筆記本和作業在編輯後仍然是附加的。

  • 在編輯之後,安裝在集群上的庫將保持安裝狀態。

  • 如果編輯正在運行的集群的任何屬性(集群大小和權限除外),必須重新啟動它。這可能會中斷當前正在使用集群的用戶。

  • 您隻能編輯正在運行或已終止的集群。不過,您可以進行更新權限用於不在集群詳細信息頁麵上的狀態的集群。

有關可以編輯的集群配置屬性的詳細信息,請參見配置集群

克隆一個集群

您可以通過克隆現有集群來創建新的集群。

從集群列表中,單擊三按鈕菜單三顆紐扣的菜單並選擇克隆從下拉菜單。

集群列表菜單

在集群詳細信息頁麵中,單擊更多的按鈕並選擇克隆從下拉菜單。

集群詳細菜單

打開預先填充了集群配置的集群創建表單。克隆中不包含現有集群中的以下屬性:

  • 集群的權限

  • 安裝庫

  • 連接筆記本電腦

控製對集群的訪問

中的集群訪問控製管理控製台允許管理員和委托用戶向其他用戶提供細粒度的集群訪問。集群訪問控製有兩種類型:

  • 集群創建權限:管理員可以選擇允許哪些用戶創建集群。

    集群創建權限
  • 集群級權限:具有可以管理對集群的權限可以配置其他用戶是否可以從集群列表或集群詳細信息頁麵附加到該集群、重新啟動、調整大小和管理該集群。

    在集群列表中單擊烤肉串菜單Kebab菜單(/_static/images/clusters/cluster-3-buttons.png)並選擇編輯權限

    集群列表菜單

    在集群詳細信息頁麵中,單擊更多的按鈕並選擇權限

    集群詳細菜單

要了解如何配置集群訪問控製和集群級權限,請參見集群訪問控製

開始一個集群

除了創建一個新的集群,您還可以啟動一個先前的集群終止集群。這允許您使用原始配置重新創建先前終止的集群。

您可以從集群列表、集群詳細信息頁麵或記事本啟動集群。

  • 從集群列表中啟動集群,單擊箭頭:

    從集群列表啟動集群
  • 單擊,在集群詳情頁麵啟動集群開始

    從集群詳細信息啟動集群
  • 若要從筆記本啟動集群,請單擊連接下拉菜單放在筆記本上麵。在那裏可以選擇要附加到筆記本上的集群。

    從筆記本附件下拉菜單啟動集群

方法也可以調用開始API端點以編程方式啟動集群。

Databricks用惟一的集群ID.當啟動一個終止的集群時,Databricks會使用相同的ID重新創建集群,自動安裝所有庫,並重新連接筆記本。

作業的集群自動啟動

當工作分配給現有終止集群或從JDBC/ODBC接口連接到已終止的集群時,集群將自動重新啟動。看到創建一個工作而且JDBC連接

集群自動啟動允許您將集群配置為自動終止,而不需要手動幹預以重新啟動計劃作業的集群。此外,您可以通過調度一個作業在已終止的集群上運行來計劃集群初始化。

集群自動重啟前,集群而且工作檢查訪問控製權限。

請注意

如果您的集群是在Databricks平台版本2.70或更早的版本中創建的,則沒有自動Beplay体育安卓版本啟動:計劃在終止的集群上運行的作業將失敗。

終止一個集群

為了節省集群資源,可以通過終止集群來實現。一個終止的集群不能運行筆記本或作業,但是它的配置被存儲,因此它可以運行重用(或者在某些類型的工作中-自動啟動)稍後再談。您可以手動終止集群,也可以配置集群在指定的靜止時間後自動終止。Databricks在集群終止時記錄信息。當終止的集群數量超過150個時,刪除最老的集群。

除非一個集群固定當集群被終止30天後,該集群將被自動永久刪除。

終止的集群出現在集群列表中,在集群名稱左側有一個灰色圓圈。

終止集群圖標

請注意

當你運行工作在一個新工作的集群(這通常是推薦的),集群終止,在作業完成時無法重新啟動。另一方麵,如果將作業安排在現有通用的集群那個已經被終止了,那個集群將會終止自動啟動

手動終止

您可以在集群列表或集群詳情頁麵手動終止集群。

  • 要從集群列表中終止集群,單擊方框:

    在集群列表中終止集群
  • 單擊,在集群詳情頁麵終止集群終止

    在集群詳細信息中終止集群

自動終止

您還可以為集群設置自動終止。在創建集群期間,可以指定不活動時間(以分鍾為單位),在此之後希望集群終止。如果當前時間與在集群上運行的最後一個命令之間的差值大於指定的不活動時間,Databricks將自動終止該集群。

當集群上的所有命令(包括Spark作業、結構化流和JDBC調用)都已執行完畢時,集群就被認為是不活動的。這並不包括通過SSH-ing運行到集群和運行bash命令的命令。

警告

  • 集群不報告使用DStreams產生的活動。這意味著自動終止集群可能在運行DStreams時被終止。關閉運行DStreams的集群的自動終止,或者考慮使用結構化流。

  • 自動終止特性隻監視Spark任務,不監視用戶定義的本地進程。因此,如果所有Spark任務都已完成,即使本地進程正在運行,集群也可能被終止。

  • 空閑集群在終止前的不活動期間繼續累積DBU和雲實例費用。

配置自動終止

配置自動終止自動終止字段自動駕駛儀的選擇框:

自動終止

重要的

自動終止設置的默認值取決於您是否選擇創建標準或高並發集群:

  • 標準集群配置為在120分鍾後自動終止。

  • 高並發集群被配置為沒有終止自動。

您可以通過清除“自動終止”複選框或指定的不活動時間來退出自動終止0

請注意

最新的Spark版本最支持自動終止。較老的Spark版本有已知的局限性,這可能導致不準確的集群活動報告。例如,運行JDBC、R或流命令的集群可能報告過時的活動時間,從而導致集群提前終止。請升級到最新的Spark版本,以受益於bug修複和自動終止的改進。

意外終止

有時集群會意外終止,而不是由於手動終止或配置的自動終止。

有關終止原因和補救步驟的列表,請參閱知識庫

刪除一個集群

刪除集群將終止集群並移除其配置。

警告

您無法撤消此操作。

您不能刪除固定集群。要刪除固定的集群,必須先由管理員解除固定。

從集群列表中,單擊三按鈕菜單三顆紐扣的菜單並選擇刪除從下拉菜單。

集群列表菜單

在集群詳細信息頁麵中,單擊更多的按鈕並選擇刪除從下拉菜單。

集群詳細菜單

方法也可以調用永久刪除API端點以編程方式刪除集群。

重新啟動集群,用最新的映像更新它

當您重新啟動集群時,它將獲得計算資源容器和虛擬機主機的最新映像。為長時間運行的集群安排定期重啟特別重要,這通常用於處理流數據等一些應用程序。

您有責任定期重新啟動所有計算資源,以保持映像使用最新的映像版本。

重要的

如果啟用合規安全概要對於您的帳戶或工作空間,長時間運行的集群將在25天後自動重啟。Databricks建議管理員在集群運行25天之前重新啟動集群,並在計劃的維護窗口中執行此操作。這降低了自動重新啟動破壞預定作業的風險。

重啟集群有以下幾種方式:

運行一個腳本來確定集群已經運行了多少天,並可選地重新啟動它們

如果您是一名工作空間管理員,您可以運行一個腳本來確定每個集群已經運行了多長時間,如果它們超過指定的天數,則可以選擇重新啟動它們。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頁簽。

火花UI

您可以獲得活動集群和終止集群的詳細信息。

如果重新啟動已終止的集群,Spark界麵顯示的是重新啟動後的集群信息,而不是被終止的集群的曆史信息。

查看集群日誌

Databricks提供了三種與集群相關的活動日誌:

本節討論集群事件日誌和驅動程序和工作者日誌。關於初始腳本日誌的詳細信息,請參見Init腳本日誌

集群事件日誌

集群事件日誌顯示由用戶操作手動觸發或由Databricks自動觸發的重要集群生命周期事件。這些事件會影響整個集群的運行以及集群中運行的作業。

有關受支持的事件類型,請參閱REST APIClusterEventType數據結構。

事件存儲60天,這與Databricks中的其他數據保留時間相當。

查看集群事件日誌

  1. 點擊計算圖標計算在側邊欄。

  2. 單擊集群名稱。

  3. 單擊事件日誌選項卡。

    事件日誌

要篩選事件,請單擊菜單下拉按事件類型篩選…字段並選擇一個或多個事件類型複選框。

使用選擇所有通過排除特定的事件類型來簡化過濾。

過濾事件日誌

查看事件詳細信息

有關事件的詳細信息,請單擊日誌中該事件的行,然後單擊JSON詳情選項卡。

事件詳細信息

集群驅動程序和工作者日誌

從筆記本、作業和庫中直接打印和記錄語句到Spark驅動程序日誌。這些日誌有三個輸出:

  • 標準輸出

  • 標準錯誤

  • Log4j日誌

您可以從司機日誌頁簽。單擊日誌文件名下載日誌文件。

您可以通過Spark界麵查看Spark worker的日誌。你也可以配置日誌傳遞位置集群。worker和cluster日誌都被發送到您指定的位置。

監視性能

為了幫助您監視Databricks集群的性能,Databricks提供了訪問神經節來自集群詳細信息頁麵的度量。

你可以安裝Datadog代理群集節點上發送datdog指標到您的datdog帳戶。

Ganglia指標

要訪問Ganglia UI,請導航到指標頁簽。所有Databricks運行時的CPU指標都可以在Ganglia UI中獲得。GPU指標可用於支持GPU的集群。

Ganglia指標

要查看實時指標,請單擊Ganglia UI鏈接。

單擊快照文件,可查看曆史指標。快照包含所選時間之前一個小時的聚合指標。

配置指標集合

默認情況下,Databricks每15分鍾收集一次Ganglia指標。若要配置采集周期,請設置DATABRICKS_GANGLIA_SNAPSHOT_PERIOD_MINUTES環境變量使用init腳本或在spark_env_vars字段集群創建API。

Datadog指標

Datadog指標

你可以安裝Datadog代理群集節點上發送datdog指標到您的datdog帳戶。示例演示如何在集群上安裝datdog代理集群級init腳本

要在所有集群上安裝datdog代理,請使用全球init腳本在測試集群範圍內的初始化腳本之後。

安裝Datadog代理初始化腳本筆記本

解除現貨實例

請注意

此特性在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配置屬性:

  1. 新的集群頁麵,點擊高級選項切換。

  2. 單擊火花選項卡。

    解除配置

要從UI訪問工作人員的退役狀態,請導航到Spark Cluster UI - Master標簽:

UI中的退役工作人員

當退役結束時,退役的執行器在Spark UI > Executors在集群詳情頁麵的TAB:

UI中的退役執行器
時間軸中的退役執行器