配置集群
請注意
這些都說明遺留集群創建UI,並且隻包括曆史準確性。所有客戶beplay体育app下载地址都應該使用創建集群UI更新。
本文解釋了可用的配置選項,當你創建和編輯數據磚集群。它著重於創建和編輯集群使用UI。其他方法,請參閱磚CLI,集群API,磚起程拓殖的提供者。
幫助決定哪些配置選項的組合最適合您的需要,明白了集群配置的最佳實踐。
集群政策
一個集群政策限製的能力配置集群基於一組規則。策略規則限製可用的屬性或屬性值創建集群。集群政策acl,限製他們使用特定的用戶和組,從而限製政策,您可以選擇當您創建一個集群。
配置一個集群政策,選擇的集群政策政策下拉。
請注意
如果沒有政策在工作區中創建,政策下拉不顯示。
如果你有:
集群創建權限,你可以選擇不受限製的政策和創建完全可配置集群。的不受限製的集群政策不限製任何屬性或屬性值。
兩個集群創建權限和訪問集群政策,你可以選擇不受限製的你可以訪問政策和政策。
訪問集群政策,您可以選擇您使用的政策。
集群模式
請注意
本文描述了傳統集群UI。信息關於新集群的UI(預覽),看到的創建一個集群。這包括一些術語集群訪問類型和模式的變化。比較新和遺留的集群類型,明白了集群UI變化和集群訪問模式。在預覽界麵:
標準模式集群現在被稱為任何隔離共享訪問模式集群。
高並發性和表acl現在被稱為共享訪問模式集群。
磚集群支持三種模式:標準,高並發,單獨的節點。默認的集群模式是標準。
重要的
如果你的工作空間是分配給一個統一目錄metastore、高並發性集群並不可用。相反,你使用訪問模式確保訪問控製和實施強有力的隔離的完整性保證。另請參閱創建一個集群,可以訪問統一目錄。
你不能改變後的集群模式創建一個集群。如果你想要一個不同的集群模式,您必須創建一個新的集群。
包括一個集群配置自動終止設置的默認值取決於集群模式:
標準和單節點集群默認120分鍾後自動終止。
高並發的集群不默認情況下自動終止。
標準的集群
警告
標準模式集群(有時稱為任何隔離共享集群)可以由多個用戶共享,與用戶之間沒有隔離。如果你使用High Concurrency集群模式沒有額外的安全設置如表acl或憑據透傳,使用了相同的設置標準模式集群。賬戶管理員可以防止內部憑證自動生成磚工作空間的管理員在這些類型的集群。為更安全的選擇,磚建議替代的高並發性等集群表acl。
一個標準的集群僅為單一用戶推薦。標準Python開發的集群可以運行工作負載,SQL, R, Scala。
高並發的集群
高並發集群是一個雲資源管理。高並發性集群的主要好處是,他們提供細粒度共享最大的資源利用率和最小查詢延遲。
高並發運行工作負載集群開發的SQL, Python,和r .高並發的性能和安全集群是由在單獨的進程中運行用戶代碼,在Scala中這是不可能的。
此外,隻有高並發的集群支持訪問控製表。
創建一個高並發集群,集集群模式來高並發。
單節點集群
單個節點集群沒有工人和司機節點上運行引發工作。
相比之下,一個標準的集群需要至少有一個引發工人節點除了司機節點執行引發的工作。
創建一個單獨的節點集群,集集群模式來單獨的節點。
了解更多關於使用單節點集群,明白了單節點集群。
池
減少集群開始時間,您可以附加一個預定義的集群池閑置的情況下,司機和工人的節點。創建集群使用實例池。如果池中沒有足夠的空閑資源創建請求司機或工作節點,池擴大供應商分配新實例的實例。連接終止集群時,它使用實例返回到池和由不同的集群可以重用。
如果你選擇了一個池為職工節點而不是司機節點,司機從工人節點節點繼承池配置。
重要的
如果你試圖選擇一個池司機節點而不是工人節點,出現錯誤,您的集群不是創建。這個需求可以防止情況司機節點等待工人創建節點,反之亦然。
看到創建一個池了解更多關於工作在磚池。
磚運行時
磚的設置是運行時上運行的核心組件集群。所有磚運行時包含Apache火花和添加組件和更新,提高可用性,性能和安全。有關詳細信息,請參見磚運行時。
磚提供了幾種類型的運行時和幾個版本的運行時類型磚的運行時版本的拉當您創建或編輯一個集群。
光子加速
光子用於集群運行嗎磚運行時9.1 LTS及以上。
使光子加速,選擇使用光子加速複選框。
如果需要,您可以指定實例類型的工人的類型和驅動程序類型下拉。
你可以把光子的活動火花UI。下麵的屏幕截圖顯示了查詢細節DAG。有兩個光子在DAG的跡象。首先,光子運營商開始“光子”,例如,PhotonGroupingAgg
。第二,在DAG光子運營商和階段是彩色的桃子,而non-Photon的是藍色的。
碼頭工人的圖片
對於一些磚運行時版本,您可以指定一個碼頭工人形象當您創建一個集群。示例用例包括庫定製,不會改變黃金容器環境,碼頭工人CI / CD集成。
您還可以使用碼頭工人圖像來創建自定義集群GPU設備上深刻的學習環境。
說明,請參閱自定義容器磚容器服務和在GPU集群磚容器服務。
集群節點類型
一個集群由一個驅動節點和零個或多個工作節點。
你可以選擇單獨的雲提供商為司機和工人節點實例類型,盡管默認情況下司機節點使用相同的實例類型工作節點。不同家庭的實例類型適合不同的用例,如內存密集型或計算密集型工作負載。
司機節點
司機節點維護狀態信息的筆記本電腦連接到集群。司機節點還維護SparkContext並解釋所有的命令你在集群上運行從一個筆記本和一個圖書館,並運行Apache主坐標的火花引發執行人。
司機節點類型的默認值是一樣的工人節點類型。你可以選擇一個更大的驅動節點類型和更多的內存,如果你正計劃收集()
大量的數據從引發工人和分析他們在筆記本上。
提示
因為司機節點維護的所有狀態信息的筆記本電腦,確保分離未使用的筆記本從司機節點。
工作者節點
磚工人節點運行所需的火花執行者和其他服務正常運行的集群。當你分發工作負載與火花,所有的分布式處理發生在工作節點。磚運行一個人均執行器節點;因此條款遺囑執行人和工人是交替使用的磚結構。
提示
火花運行工作,你至少需要一個工作節點。如果集群的工人為零,你可以運行non-Spark命令司機節點上,但火花命令將失敗。
請注意
磚發射的工人每個節點有兩個私有IP地址。節點的主要私人IP地址用於主機磚內部交通。二次使用的私有IP地址是火花容器實現網內集群通信。這個模型允許磚提供多個集群之間的隔離在同一個工作區。
GPU實例類型
對於需求的高性能的計算有挑戰性的任務,像那些與深度學習,磚支持集群加速的圖形處理單元(gpu)。有關更多信息,請參見GPU-enabled集群。
AWS引力子實例類型
磚支持集群AWS引力子處理器。基於arm的AWS引力子實例設計的AWS提供更好的價格性能比較當代基於x86的實例。看到AWS Graviton-enabled集群。
集群規模和自動定量
當你創建一個磚集群,可以為集群提供一個固定數量的工人或提供的最小和最大數量的工人集群。
當你提供固定大小的集群,磚確保集群有指定數量的工人。當你為工人的數量,提供一係列磚選擇適當數量的工人需要運行你的工作。這被稱為自動定量。
與自動定量、動態磚是重新分配人員占你的工作的特點。某些部位的管道可能比其他人更計算要求,和磚自動添加額外的工人在這階段的工作(並刪除他們當他們不再需要)。
自動定量使它更容易實現集群利用率高,因為你不需要提供集群匹配工作負載。這尤其適用於負載的需求隨時間變化(如每天探索過程中數據集),但它也能適用於一次性短工作負載的配置需求是未知的。自動定量因此提供了兩個優點:
工作負載可以運行得更快而constant-sized under-provisioned集群。
自動定量集群靜態大小的集群相比可以降低整體成本。
根據集群的常數大小和工作負載,自動定量給你其中的一個或兩個同時受益。集群規模可以低於最小數量的工人時選擇的雲提供商終止實例。在這種情況下,磚不斷重試重新供應實例為了維持最低的工人數量。
請注意
自動定量是不可用的spark-submit
就業機會。
如何自動定量的行為
尺度從最小到最大2步驟。
即使可以縮小規模集群不空閑看洗牌文件狀態。
基於當前節點的比例尺度。
工作群,尺度下如果集群充分利用過去40秒。
通用的集群,尺度下如果集群充分利用過去150秒。
的
spark.databricks.aggressiveWindowDownS
火花在幾秒鍾內配置屬性指定集群頻率使縮小規模的決定。持續增加的值會導致一個集群規模更慢。最大值是600。
本地磁盤加密
預覽
這個特性是在公共預覽。
一些實例類型用於在本地運行集群可能附加的磁盤。磚可能洗牌數據或臨時數據存儲在這些本地連接的磁盤。確保所有的數據是加密的存儲類型,包括改組數據暫時存儲在集群的本地磁盤,您可以啟用本地磁盤加密。
重要的
你的工作負載可能會更慢,因為閱讀和寫作加密數據對性能的影響,從本地卷。
當啟用本地磁盤加密時,磚在本地生成一個加密密鑰,是獨一無二的每個集群節點,用於加密所有數據存儲在本地磁盤。關鍵是當地的範圍到每個集群節點集群節點本身和被摧毀。在其一生中,加密和解密的關鍵駐留在內存和存儲加密的磁盤上的。
啟用本地磁盤加密,你必須使用集群API。在集群創建或編輯設置:
{“enable_local_disk_encryption”:真正的}
看到集群API如何調用這些api的例子。
下麵是一個示例集群的創建,使本地磁盤加密:
{“cluster_name”:“my-cluster”,“spark_version”:“7.3.x-scala2.12”,“node_type_id”:“r3.xlarge”,“enable_local_disk_encryption”:真正的,“spark_conf”:{“spark.speculation”:真正的},“num_workers”:25}
安全模式
如果你的工作空間是分配給一個統一目錄metastore,你用安全模式代替高並發集群模式確保訪問控製和實施強有力的隔離的完整性保證。高並發集群模式和統一目錄不可用。
下高級選項,選擇從以下集群安全模式:
沒有一個:沒有隔離。不執行workspace-local表訪問控製或憑據透傳。不能訪問統一目錄數據。
單用戶:隻有一個用戶可以使用(默認情況下,用戶創建的集群)。其他用戶無法連接到集群。當訪問一個視圖從一個集群單用戶安全模式,視圖和用戶的權限執行。單用戶集群支持工作負載使用Python, Scala, r . Init腳本庫安裝和DBFS坐騎在單用戶支持集群。自動化工作應該使用單用戶集群。
用戶隔離:可以由多個用戶共享。隻支持SQL工作負載。圖書館安裝,init腳本和DBFS坐騎被禁用執行嚴格的隔離在集群用戶。
表隻ACL(遺留):執行workspace-local表訪問控製,但不能訪問統一編目數據。
隻透傳(遺留):執行workspace-local憑據透傳,但不能訪問統一編目數據。
唯一的安全模式支持統一編目工作負載單用戶和用戶隔離。
有關更多信息,請參見集群訪問模式是什麼?。
AWS的配置
當您配置一個集群的AWS實例可以選擇可用性區域,馬克斯現貨價格,EBS卷類型和大小,和實例配置文件。指定配置,
在集群配置頁麵,單擊高級選項切換。
在頁麵的底部,單擊實例選項卡。
可用性區域
此設置允許您指定的可用性區域(AZ)你想要使用集群。默認情況下,這個設置是設置為汽車(Auto-AZ), AZ自動選擇是基於在工作區中可用的ip子網。Auto-AZ重試其他可用性區域如果AWS返回錯誤能力不足。
選擇一個特定AZ集群主要是有用的,如果您的組織購買了保留實例在特定的可用性區域。閱讀更多關於AWS可用性區域。
現貨實例
您可以指定是否使用現貨實例和馬克斯現貨價格時使用啟動實例的比例相應的隨需應變的現貨價格。默認情況下,馬克斯價格是隨需應變的100%價格。看到AWS現貨價格。
EBS卷
本節描述默認EBS卷設置工人節點,如何添加洗牌卷,以及如何配置一個集群這磚自動分配EBS卷。
配置EBS卷,單擊實例在集群配置選項卡,並選擇一個選項EBS卷類型下拉列表。
默認EBS卷
磚規定EBS卷為每個職工節點如下:
根卷30 GB加密EBS實例使用的主機操作係統和磚內部服務。
一個150 GB的加密EBS容器所使用的根卷引發工人。這個主機火花服務日誌。
(HIPAA) 75 GB加密EBS工人日誌卷存儲日誌數據磚內部服務。
添加改組EBS卷
添加洗牌卷,選擇通用SSD在EBS卷類型下拉列表:
默認情況下,火花洗牌輸出到本地磁盤。例如類型沒有本地磁盤,或者如果你想增加你的火花洗牌存儲空間,您可以指定額外的EBS卷。這是特別有用的防止磁盤空間的錯誤當您運行火花產生大洗牌的工作輸出。
磚加密這些EBS卷的隨需應變和現貨實例。閱讀更多關於AWS EBS卷。
AWS EBS限製
確保你的AWS EBS限製高到足以滿足運行時要求所有工人在所有集群。對於信息默認EBS限製以及如何改變它們,看到的亞馬遜彈性塊存儲(EBS)的限製。
AWS EBS SSD卷類型
你可以選擇gp2或gp3 AWS EBS SSD卷類型。要做到這一點,看到的管理SSD存儲。磚建議您切換到gp3 gp2相比,節省成本。技術信息gp2 gp3、明白了亞馬遜EBS卷類型。
自動定量本地存儲
如果你不想分配一個固定數量的EBS卷在創建集群時,使用自動定量本地存儲。自動定量本地存儲,數據磚監視器上可用的空閑磁盤空間集群的火花的工人。如果一個工人開始在磁盤上運行過低,磚自動高度新EBS卷的工人之前耗盡磁盤空間。EBS卷附加到一個極限5 TB的總磁盤空間的每個實例(包括實例的本地存儲)。
配置自動定量儲存、選擇啟用自動定量本地存儲在自動駕駛儀選項框:
EBS卷附加到一個實例隻分離時返回給AWS實例。EBS卷,永遠不會脫離隻要是一個實例運行集群的一部分。縮減EBS用法,磚建議使用這個特性在集群配置集群規模和自動定量或意外終止。
請注意
磚使用吞吐量的優化硬盤(死神)來擴展一個實例的本地存儲。的默認AWS容量限製這些數量是20 TiB。為了避免觸及這個極限,管理員應該請求增加這個極限根據自己的使用需求。
請注意
如果你創建你的磚賬戶之前版本2.44(2017年4月27日之前)和想使用自動定量本地存儲(默認啟用高並發的集群),您必須添加體積權限我角色或鍵用於創建您的帳戶。特別是,您必須添加權限ec2: AttachVolume
,ec2: CreateVolume
,ec2: DeleteVolume
,ec2: DescribeVolumes
。完整列表的權限和說明如何更新您的現有我角色或鑰匙,明白了為工作區部署創建了我的角色。
實例配置文件
安全地訪問AWS資源沒有使用AWS鍵,您可以啟動磚集群實例的配置文件。看到S3訪問配置實例配置文件關於如何創建和配置實例配置的信息。一旦您創建了一個實例,您選擇的實例配置文件下拉列表:
請注意
一旦集群啟動一個實例配置文件,這個集群附加權限的人都可以訪問底層資源控製的這個角色。防止不必要的訪問,可以使用集群訪問控製限製權限集群。
火花配置
微調刺激就業,你可以提供自定義的火花配置屬性在一個集群中配置。
在集群配置頁麵,單擊高級選項切換。
單擊火花選項卡。
在火花配置進入配置屬性,每行一個鍵-值對。
當您配置集群使用集群API,設置火花屬性spark_conf
字段創建新集群API或更新集群配置API。
為所有集群設置火花屬性,創建一個全球init腳本:
dbutils。fs。把(“dbfs: /磚/ init / set_spark_params.sh”,”“”| # ! / bin / bash|貓| < < EOF的> / conf / 00-custom-spark-driver-defaults.conf /磚/驅動程序|(司機){|“spark.sql.sources。partitionOverwriteMode”=“動態”|}| EOF”“”。stripMargin,真正的)
檢索一個火花配置屬性從一個秘密
磚建議存儲敏感信息,比如密碼,秘密而不是明文。引用一個秘密的火花配置,使用下麵的語法:
火花。<屬性名>{{秘密/ < scope-name > / <秘密名字>}}
例如,設置一個火花配置屬性密碼
秘密存儲的值秘密/ acme_app /密碼
:
火花。密碼{{秘密/ acme-app /密碼}}
有關更多信息,請參見語法引用火花配置中的秘密財產或環境變量。
環境變量
您可以配置自定義環境變量,您可以訪問init腳本在一個集群上運行。磚還提供了預定義的環境變量在init腳本,您可以使用。你不能覆蓋這些預定義的環境變量。
在集群配置頁麵,單擊高級選項切換。
單擊火花選項卡。
設置環境變量環境變量字段。
集群的標簽
集群標簽允許您方便地監視各種團體所使用的雲資源的成本在你的組織中。您可以指定標簽作為鍵值對,當你創建一個集群,和磚這些標簽適用於雲資源的虛擬機磁盤卷,以及DBU使用報告。
集群為集群從池中,自定義標簽隻應用於DBU使用報告,不傳播到雲資源。
為詳細的信息關於池和集群標簽類型一起工作,明白了使用集群和池監控使用標簽。
為了方便起見,磚四默認標簽適用於每個集群:供應商
,創造者
,ClusterName
,ClusterId
。
此外,就業集群,磚適用兩個默認標簽:RunName
和JobId
。
對資源使用的磚SQL,磚也是默認的標簽SqlWarehouseId
。
警告
不指定一個自定義標記的鑰匙嗎的名字
一個集群。每個集群都有一個標簽的名字
其價值是由磚。如果你改變的鍵相關聯的值的名字
,集群可以通過磚不再被跟蹤。因此,集群可能不會成為閑置後終止了並將繼續產生使用成本。
你可以添加自定義標記當您創建一個集群。集群配置標簽:
在集群配置頁麵,單擊高級選項切換。
在頁麵的底部,單擊標簽選項卡。
為每個定製標記添加一個鍵-值對。您可以添加45定製標記。
更多細節,請參見<用法標簽鏈接>。
實施強製性的標簽
確保某些標簽總是填充在創建集群時,你可以把一個特定的政策,您的帳戶的主要我角色(期間創建的賬戶設置;請聯係AWS管理員如果你需要訪問)。我的政策應包括明確的否認聲明強製性標簽鍵和可選值。創建集群將會失敗如果需要標簽的允許的值沒有提供。
例如,如果您想要執行部門
和項目
標簽,隻有指定值允許前者和後者的自由格式的非空值,你可以申請一個我這樣的政策:
{“版本”:“2012-10-17”,“聲明”:({“席德”:“MandateLaunchWithTag1”,“效應”:“否認”,“行動”:(“ec2: RunInstances”,“ec2: CreateTags”),“資源”:“攻擊:aws: ec2:地區:accountId:實例/ *”,“條件”:{“StringNotEqualsIgnoreCase”:{“aws: RequestTag /部門”:(“Deptt1”,“Deptt2”,“Deptt3”]}}},{“席德”:“MandateLaunchWithTag2”,“效應”:“否認”,“行動”:(“ec2: RunInstances”,“ec2: CreateTags”),“資源”:“攻擊:aws: ec2:地區:accountId:實例/ *”,“條件”:{“StringNotLike”:{“aws: RequestTag /項目”:“? *”}}}]}
這兩個ec2: RunInstances
和ec2: CreateTags
行動所需的每個標簽有效覆蓋場景的集群,隻有隨需應變的情況下,隻有現貨實例,或兩者兼而有之。
提示
磚建議你為每個標記添加一個單獨的政策聲明。整體政策可能成為長,但更容易調試。看到我運營商參考政策條件對運營商的列表,可以使用在一個政策。
請注意
集群創建錯誤因為我顯示出政策編碼錯誤消息
開始:
雲提供商發射失敗:雲提供商設置集群時遇到錯誤。
編碼的消息,因為授權狀態的細節可以構成特權的用戶信息請求的行動不應該看到。看到DecodeAuthorizationMessage API(或CLI)等信息如何解碼信息。
SSH訪問集群
請注意
你不能使用SSH登錄到一個集群安全集群連接啟用。
SSH允許您登錄到Apache火花集群為先進的故障診斷和遠程安裝定製軟件。
一個相關的特性,看到網絡終端。
本節描述如何配置您的AWS帳戶啟用入口訪問你和公鑰的集群,以及如何打開SSH連接到集群節點。
配置安全組
你必須更新磚安全組的AWS帳戶給入口訪問的IP地址將啟動SSH連接。你可以設置這一個IP地址或提供一係列代表整個辦公室的IP範圍。
在AWS控製台,找到磚安全組。它將有一個標簽相似
< databricks-instance > -worker-unmanaged
。(例如:dbc-fb3asdddd3-worker-unmanaged
)編輯安全組和添加一個TCP規則允許入站端口
2200年
工人的機器。它可以是一個單一的IP地址或一個範圍。確保你的電腦和辦公室讓你發送TCP流量端口
2200年
。
生成SSH密鑰對
創建一個SSH密鑰對通過終端會話中運行以下命令:
ssh - keygen rsa - t - b4096年- c“email@example.com”
您必須提供目錄的路徑你想保存的公鑰和私鑰。保存公鑰與擴展.pub
。
現有的集群配置您的公鑰
如果你有一個集群和集群創建期間沒有提供公共密鑰,您可以通過運行這段代碼注入的公鑰從任何筆記本連接到集群:
瓦爾publicKey=“把你的公鑰這裏”defaddAuthorizedPublicKey(關鍵:字符串):單位={瓦爾弗蘭克-威廉姆斯=新java。io。FileWriter(“/ home / ubuntu / . ssh / authorized_keys”,/ *添加* /真正的)弗蘭克-威廉姆斯。寫(“\ n”+關鍵)弗蘭克-威廉姆斯。關閉()}瓦爾numExecutors=sc。getExecutorMemoryStatus。鍵。大小sc。並行化(0直到numExecutors,numExecutors)。foreach{我= >addAuthorizedPublicKey(publicKey)}addAuthorizedPublicKey(publicKey)
集群日誌交付
當您創建一個集群時,您可以指定一個位置提供的日誌引發司機節點,工作節點,和事件。日誌是每5分鍾發送到您所選擇的目的地。終止一個集群時,磚保證交付的所有日誌生成到集群是終止。
日誌的目的地取決於集群ID。如果指定的目的地dbfs: / cluster-log-delivery
、集群日誌0630 - 191345 leap375
交付給dbfs: / cluster-log-delivery / 0630 - 191345 leap375
。
配置日誌交付地點:
在集群配置頁麵,單擊高級選項切換。
單擊日誌記錄選項卡。
選擇一個目的地類型。
進入集群日誌路徑。
S3 bucket的目的地
如果你選擇一個S3目的地,您必須配置的集群實例配置文件,可以訪問桶。這個實例配置文件必須都propertynames
和PutObjectAcl
權限。一個示例實例配置文件已經包括了你的便利。看到S3訪問配置實例配置文件說明如何設置一個實例配置文件。
{“版本”:“2012-10-17”,“聲明”:({“效應”:“允許”,“行動”:(“s3: ListBucket”),“資源”:(“攻擊:aws: s3::: < my-s3-bucket >”]},{“效應”:“允許”,“行動”:(“s3: propertynames”,“s3: PutObjectAcl”,“s3: GetObject”,“s3: DeleteObject”),“資源”:(“攻擊:aws: s3::: < my-s3-bucket > / *”]}]}
請注意
這個功能也可以在REST API。看到集群API。
Init腳本
一個集群節點初始化運行初始化腳本是一個shell腳本,在啟動每個集群節點之前火花司機或工人JVM開始。您可以使用init腳本安裝包和庫不包含在磚運行時,修改JVM係統類路徑,設置係統屬性和環境變量所使用的JVM,或修改配置參數,以及其他配置任務。
您可以將init腳本附加到一個集群擴展高級選項部分並單擊Init腳本選項卡。
有關詳細說明,請參見init腳本是什麼?。