最佳實踐:集群策略
磚集群政策為管理員提供在Databricks工作區中創建集群資源的控製。有效使用集群策略允許管理員:
強製執行標準化的集群配置。
防止過度使用資源,控製支出。
通過正確標記集群來確保準確的退款。
通過為用戶提供針對特定工作負載的預配置集群配置,方便分析和處理。
有關集群策略和配置建議的介紹,請查看Databricks集群策略視頻:
與有效的登錄、審批和退款流程相結合,集群策略可以成為Databricks平台治理的基本組件。Beplay体育安卓版本本指南提供了建議和最佳實踐,以幫助您創建成功的計劃,將集群策略集成到治理框架中。
由於治理對於每個組織的需求和現有治理基礎設施都是獨一無二的,因此本文首先介紹通常適用於集群策略的建議。本文的最後一部分討論了解決您在環境中可能遇到的挑戰的特定策略。
本文討論了確保成功實施集群治理的以下最佳實踐和建議:
創建計劃,分階段引入集群策略,以幫助用戶過渡到受治理的環境。
為集群策略推出的每個階段創建一個交流更改的計劃。
確定集群治理麵臨的挑戰,並實施應對這些挑戰的策略。
集群策略推出
實現集群策略可以顯著改變用戶體驗。Databricks推薦一種分階段的方法來幫助引導用戶完成過渡:
告知即將發生的更改,並為用戶提供測試集群配置的機會。
執行軟滾出。
逐步引入進一步的政策變更。
執行硬轉換到完全受治理的環境。
分階段推出允許用戶熟悉新策略,並防止現有工作負載中斷。下圖是這個推薦過程的一個例子:
以下章節將提供關於這些階段的更詳細信息:
交流和測試集群策略
通過與用戶溝通即將發生的更改來開始這個過程。溝通計劃應包括:
關於即將到來的變化的細節。
為什麼會發生這些變化。
用戶需要做什麼來確保工作負載的成功轉換。
如何提供關於更改的反饋。
展示的每個階段的時間軸。
在分階段推出的每個階段開始時,溝通與該階段相關的進一步細節。
下圖提供了分階段推出的示例通信計劃:
您的計劃可能有不同的階段,這取決於您的環境和集群策略策略。本例包括四個階段:
階段1包括與用戶溝通計劃並開始測試。用戶必須有機會在符合新策略的集群上測試他們當前和預期的工作負載。您希望在流程的早期識別現有和計劃的工作負載的任何問題。
階段2繼續測試,同時推出集群標記策略。
階段3引入集群類型,在本例中使用t恤大小指定集群,例如,小型、大型或超大集群類型。
階段4是集群策略的最終推出以及完整的用戶文檔。
用戶還應該有機會在初始階段使用計劃的集群配置測試他們的工作負載。此測試可以幫助識別在使用建議策略時存在問題的現有工作負載。
引入集群策略的注意事項
在規劃集群策略的初始部署時,請考慮當前的管理策略。特別是,要考慮您是從一個限製用戶創建集群的環境轉移到一個更開放的環境。
最後推出
當截止日期到達時,刪除對受限製用戶的不受限製策略的訪問。集群策略的推出現在應該完成了。
具體挑戰與策略
下麵是應用集群策略來解決特定挑戰的示例。其中許多策略可以同時使用,但需要在所有策略中應用每種策略。例如,如果使用標簽強製策略和t恤大小策略,每個t恤策略還需要一個custom_tag。*
政策。
標簽執行
解決方案
撤銷集群創建權限從用戶。
向任何適用的集群策略添加集群標記規則。要將群集標記規則添加到策略中,請使用
custom_tags。<標記名稱>
屬性。該值可以是an下麵的任何值無限的政策,也可以由固定,允許列表,塊列表,正則表達式,或範圍政策。例如,為了確保正確的退款和成本歸屬,執行aCOST_CENTER
在每個策略上標記,限製為允許的成本中心值列表:{“custom_tags。COST_CENTER”:{“類型”:“allowlist”,“價值觀”:【“9999”,“9921”,“9531”]}}
使用此策略的任何用戶都必須填寫
COST_CENTER
標記9999、9921或9531以啟動集群。將集群策略分配給應該能夠對這三個成本中心收費的用戶。策略可以在用戶或組級別上通過集群策略界麵或者是補丁/權限/ cluster-policies / {cluster_policy_id}端點。下麵的示例請求體將策略分配給銷售部門:
{“access_control_list”:[{“user_name”:“user@mydomain.com”,“all_permissions”:[{“permission_level”:“CAN_USE”}]},{“group_name”:“銷售”,“all_permissions”:[{“permission_level”:“CAN_USE”}]}]}
沒有經驗的用戶
解決方案
使用集群策略定義“t恤”大小的集群配置,例如,小型、中型或大型集群。
為每種t恤尺碼製定策略。t恤大小策略向用戶指示相對的集群大小,可以是靈活的模板,也可以是零選項配置。零選項或低選項策略通常會有固定以及隱藏的策略規則。下麵的示例為對象定義一個DBR 7.3的固定值策略
spark_version
.設置隱藏的
標記為true將確保此選項對用戶不可見。{“spark_version”:{“類型”:“固定”,“價值”:“7.3.x-scala2.12”,“隱藏”:真正的}}
在定義靈活的模板時,可以使用範圍,塊列表,塊列表,正則表達式,無限的政策用於設置上限邊界、非可選字段和半限製策略元素的策略。下麵的示例定義了一個策略,該策略允許自動伸縮節點最多為25個。您可以使用此定義設置每個t恤尺寸的上限,同時提供一些靈活性。要查看集群模板方法的更多詳細信息,請參見資源占用過多.
{“autoscale.max_workers”:{“類型”:“範圍”,“執行”:“25”,“defaultValue”:5}}
將該策略分配給應該允許創建t恤大小集群的用戶。可以通過集群策略UI或集群策略權限API在用戶或組級別分配策略。例如,通過UI將此策略分配給所有用戶:
進入集群策略並選擇編輯.
選擇權限選項卡。
選擇所有用戶選擇下組在下拉列表中。
撤銷必須隻使用這些新策略的組對不受限製策略的訪問權。一旦使用了集群策略,擁有“集群創建”權限的用戶就可以訪問不受限製的策略。對於不應該擁有該權限的用戶,撤銷該權限非常重要。
要撤消集群創建權限,請參見配置創建集群權限.
特定於用例的策略
資源占用過多
解決方案
將集群策略與內部審批流程相結合,可以實現對資源的控製,同時在必要時提供對大型計算資源的訪問。
建立一個審查過程,以授予更大或更靈活的策略訪問權。審查流程應該有一個收集信息的表單,該表單支持對更大或更靈活的集群配置的需求。平台所有Beplay体育安卓版本權團隊應該評估這些信息,以決定如何支持工作負載需求。下圖展示了使用t恤尺寸的審批流程示例:
用更少的約束創建更靈活的策略,並專注於控製像標簽這樣的治理項目。靈活政策的一個例子:
該策略提供了靈活性,允許用戶:
從一係列實例類型中進行選擇,而不是一些過於昂貴的實例類型。
配置最多100個節點的集群。
設置自動終止時間為120分鍾。
它還設置了合理的限製,並通過以下方式確保治理:
為這個團隊強製一個標簽。
需要自動定量。
啟用彈性盤自動伸縮。
指定Databricks運行時版本。
此策略非常適合經驗豐富的用戶,他們需要對各種集群配置上的作業進行調優,並且是與審批流程相關聯的策略的一個很好的示例。
將升級和審批流程編製成文檔,並與用戶共享。發布關於識別可能需要更大靈活性或更大集群的工作負載類型的指南也很有幫助。
批準用戶後,將策略分配給他們。策略可以在用戶或組級別上通過集群策略界麵或者通過向權限API 2.0:
{“access_control_list”:{“user_name”:“users_email@yourdomain.com”,“permission_level”:“CAN_USE”}}
了解更多
要了解關於數據上的集群策略的更多信息,請參見管理集群策略還有我們關於集群策略的博客:允許使用集群策略進行完全管理控製的簡單集群創建.