配置集群

請注意

這些是遺留的創建集群UI的指令,隻是為了曆史的準確性。所有客戶beplay体育app下载地址都應該使用更新的創建集群界麵

本文解釋了在創建和編輯Databricks集群時可用的配置選項。重點介紹了如何使用UI創建和編輯集群。其他方法請參見集群CLI集群API 2.0,Databricks Terraform提供商

有關幫助,請參見確定哪種配置選項組合最適合您的需求集群配置最佳實踐

創建集群

集群政策

一個集群政策限製基於一組規則配置集群的能力。策略規則限製用於創建集群的屬性或屬性值。集群策略具有acl,這些acl將其限製為特定用戶和組的使用,從而限製了在創建集群時可以選擇的策略。

中選擇集群策略,配置集群策略政策下拉。

選擇集群策略

請注意

如果沒有政策在工作區中創建,政策下拉菜單不顯示。

如果你有:

  • 集群創建權限,您可以選擇不受限製的策略並創建完全可配置的集群。的不受限製的策略不限製任何集群屬性或屬性值。

  • 同時創建集群權限和訪問集群策略,可以選擇不受限製的策略和您可以訪問的策略。

  • 僅訪問集群策略,您可以選擇具有訪問權限的策略。

集群模式

請注意

本文描述遺留的集群UI。關於預覽界麵的詳細介紹,請參見創建集群.這包括集群訪問類型和模式的一些術語更改。有關新的和舊的集群類型的比較,請參見集群UI更改和集群訪問模式.在預覽界麵中:

  • 標準模式集群現在叫做否隔離共享訪問模式集群

  • 高並發表acl現在叫做共享訪問模式集群

Databricks支持三種集群模式:標準、高並發和單獨的節點.默認集群模式為“Standard”。

重要的

  • 如果您的工作空間分配給統一目錄metastore、High Concurrency集群不可用。相反,你可以使用訪問模式確保訪問控製的完整性並執行強大的隔離保證。另請參閱創建一個可以訪問Unity Catalog的集群

  • 創建集群後,不允許修改集群模式。如果需要不同的集群模式,則必須創建一個新集群。

集群配置包括自動終止設置的默認值取決於集群模式:

  • 標準節點和單節點集群默認120分鍾後自動終止。

  • 高並發集群默認情況下自動終止。

標準的集群

警告

標準模式集群(有時稱為無隔離共享集群)可以由多個用戶共享,用戶之間沒有隔離。如果使用“高並發”集群模式無需額外的安全設置,如表acl或憑據傳遞,與標準模式集群使用相同的設置。帳戶管理員可以防止為Databricks工作空間管理員自動生成內部憑證在這些類型的集群上。對於更安全的選項,Databricks建議使用具有表acl的高並發集群。

建議單個用戶使用標準集群。標準集群可以運行用Python、SQL、R和Scala開發的工作負載。

高並發集群

高並發集群是受管的雲資源。High Concurrency集群的主要好處是它們提供了細粒度的共享,以實現最大的資源利用率和最小的查詢延遲。

高並發集群可以運行用SQL、Python和r開發的工作負載。高並發集群的性能和安全性是通過在單獨的進程中運行用戶代碼來提供的,這在Scala中是不可能的。

此外,隻有High Concurrency集群支持表訪問控製

若要創建高並發集群,請設置集群模式高並發

高並發集群模式

有關如何使用群集API創建高並發群集的示例,請參見高並發集群示例

單節點集群

Single Node集群沒有worker,在驅動節點上運行Spark作業。

相比之下,標準集群需要至少一個Spark工作節點除驅動節點外,還用於執行Spark作業。

如果需要創建單節點集群,請設置集群模式單獨的節點

單節點集群模式

有關使用單節點集群的詳細信息,請參見單節點集群

數據沿襲

預覽

數據沿襲在公共預覽

要創建一個捕獲數據沿襲的集群,請轉到集群配置頁麵並執行以下步驟:

請注意

要使用作業集群將沿襲捕獲為作業運行的一部分,請確保使用以下配置配置作業集群。

  1. 訪問模式中,選擇單用戶共享

    • 單用戶:支持多種語言的集群,但隻能由指定的單個用戶使用。

    • 共享:可以被多個用戶共享的集群。隻支持SQL和Python工作負載。

  2. Databricks運行時版本,選擇Databricks Runtime 11.1或更高版本。

  3. 單擊高級選項切換。

  4. 單擊火花選項卡。

  5. 火花配置文本框中,輸入如下配置:

    spark.databricks.dataLineage.enabled真實
  6. 點擊創建集群

為了減少集群啟動時間,您可以將集群附加到預定義的集群空閑實例的,用於驅動程序和工作節點。集群是使用池中的實例創建的。如果一個池沒有足夠的空閑資源來創建請求的驅動程序或工作節點,則池通過從實例提供程序分配新實例來擴展。當附加的集群終止時,它使用的實例將返回到池中,並可由不同的集群重用。

如果為工作節點選擇了池,但沒有為驅動節點選擇池,則驅動節點將繼承工作節點配置中的池。

重要的

如果試圖為驅動程序節點選擇池,而不是為工作節點選擇池,則會發生錯誤,並且不會創建集群。這一要求防止了驅動節點必須等待工作節點被創建的情況,反之亦然。

看到以了解有關在Databricks中使用池的更多信息。

磚運行時

數據庫運行時是運行在您的數據庫上的核心組件的集合集群.所有Databricks運行時都包含Apache Spark,並添加組件和更新,以提高可用性、性能和安全性。詳細信息請參見磚運行時

Databricks提供了幾種運行時類型和這些運行時類型的幾種版本Databricks運行時版本下拉菜單,可以創建或編輯集群。

選擇運行時版本

光子加速

光子對正在運行的集群可用嗎Databricks Runtime 9.1 LTS及以上。

要啟用光子加速,請選擇使用光子加速複選框。

如果需要,可以在Worker type和Driver type下拉菜單中指定實例類型。

中查看Photon活動火花UI.下麵的截圖顯示了查詢細節DAG。在DAG中有兩個光子的跡象。首先,Photon操作符以“Photon”開頭,例如,PhotonGroupingAgg.其次,在DAG中,Photon操作符和階段是桃紅色的,而非Photon操作符和階段是藍色的。

光子DAG

碼頭工人的圖片

對於某些Databricks Runtime版本,您可以在創建集群時指定Docker映像。示例用例包括庫定製、不變的黃金容器環境以及Docker CI/CD集成。

您還可以使用Docker映像在具有GPU設備的集群上創建自定義深度學習環境。

有關說明,請參見使用Databricks Container Services定製容器而且Databricks Container GPU集群的服務

集群節點類型

集群由一個驅動節點和零個或多個工作節點組成。

您可以為驅動程序和工作節點選擇單獨的雲提供程序實例類型,盡管默認情況下驅動程序節點使用與工作節點相同的實例類型。不同的實例類型適用於不同的用例,例如內存密集型或計算密集型工作負載。

司機節點

驅動程序節點維護連接到集群的所有筆記本的狀態信息。驅動節點還維護SparkContext並解釋您從集群上的筆記本或庫中運行的所有命令,並運行與Spark執行器協調的Apache Spark master。

驅動節點類型默認值與工作節點類型相同。如果您打算這樣做,可以選擇具有更多內存的較大驅動程序節點類型收集()收集Spark員工的大量數據,並在筆記本上進行分析。

提示

由於驅動程序節點維護所附筆記本的所有狀態信息,請確保從驅動程序節點分離未使用的筆記本。

工作者節點

Databricks工作節點運行Spark執行器和集群正常運行所需的其他服務。當您使用Spark分布工作負載時,所有的分布式處理都發生在工作節點上。Databricks為每個工作節點運行一個執行程序;因此這些項遺囑執行人而且工人在Databricks體係結構上下文中可互換使用。

提示

要運行Spark作業,至少需要一個工作節點。如果集群中沒有工人,可以在驅動節點上運行非Spark命令,但Spark命令會失敗。

請注意

Databricks啟動工作節點,每個節點有兩個私有IP地址。節點的主私有IP地址用於承載Databricks內部流量。備用私有IP地址用於Spark容器進行集群內通信。此模型允許Databricks在同一工作空間中的多個集群之間提供隔離。

GPU實例類型

對於需要高性能的計算挑戰任務,例如與深度學習相關的任務,Databricks支持使用圖形處理單元(gpu)加速的集群。有關更多信息,請參見GPU-enabled集群

AWS Graviton實例類型

預覽

此功能已在公共預覽

Databricks支持使用AWS Graviton處理器的集群。基於arm的AWS Graviton實例是由AWS設計的,可以提供比同時代的基於x86的實例更好的性價比。看到AWS啟用引力子的集群

集群大小和自動縮放

創建Databricks集群時,可以為集群提供固定數量的工作人員,也可以為集群提供最小和最大數量的工作人員。

當您提供一個固定大小的集群時,Databricks確保您的集群具有指定數量的工人。當您為工作人員的數量提供一個範圍時,Databricks將選擇運行作業所需的適當數量的工作人員。這被稱為自動定量

隨著自動伸縮,Databricks動態地重新分配工人,以說明你的工作的特點。管道的某些部分可能比其他部分更需要計算,Databricks會在工作的這些階段自動添加額外的工作人員(並在不再需要時刪除他們)。

自動伸縮可以更容易地實現高集群利用率,因為您不需要配置集群來匹配工作負載。這尤其適用於需求隨時間變化的工作負載(比如在一天中探索一個數據集),但它也適用於一次性的較短工作負載,其配置需求未知。自動縮放提供了兩個優勢:

  • 與固定大小的未配置的集群相比,工作負載可以更快地運行。

  • 與靜態大小的集群相比,自動伸縮集群可以降低總體成本。

根據集群和工作負載的恒定大小,自動伸縮可以同時為您提供其中一種或兩種好處。當雲提供商終止實例時,集群大小可以低於所選擇的最小工作數。在這種情況下,Databricks會不斷嚐試重新提供實例,以保持最少的工作人員數量。

請注意

無法使用自動縮放功能spark-submit就業機會。

自動縮放的行為

  • 在2步內從最小到最大。

  • 即使集群沒有空閑,也可以通過查看shuffle文件狀態來縮小規模。

  • 根據當前節點的百分比遞減。

  • 在作業集群上,如果集群在過去40秒內未得到充分利用,則減少。

  • 在通用集群上,如果集群在過去150秒內未得到充分利用,則會減小。

  • spark.databricks.aggressiveWindowDownSSpark配置屬性以秒為單位指定集群做出降級決策的頻率。增大該值會導致集群縮小的速度變慢。最大值為600。

啟用並配置自動伸縮

為了允許Databricks自動調整您的集群大小,您可以為集群啟用自動縮放,並提供最小和最大的worker範圍。

  1. 啟用自動定量。

    • 通用集群—在“創建集群”頁麵,選擇啟用自動定量中的複選框自動駕駛儀的選擇箱:

      交互式集群的Enable_autoscaling
    • 作業集群—在“配置集群”頁麵,選擇啟用自動定量中的複選框自動駕駛儀的選擇箱:

      為作業集群啟用自動伸縮
  2. 配置最小工人和最大工人。

    配置min和max worker

    當集群運行時,集群詳細信息頁麵顯示分配的工人數量。您可以將分配的工作者數量與工作者配置進行比較,並根據需要進行調整。

重要的

如果你正在使用實例池

  • ,確保請求的群集大小小於或等於最小空閑實例數在遊泳池裏。如果它更大,集群啟動時間將相當於不使用池的集群。

  • 請確保最大群集大小小於或等於最大容量泳池的。如果大於,則創建集群失敗。

自動定量的例子

如果將靜態集群重新配置為自動伸縮集群,Databricks將立即在最小和最大邊界內調整集群大小,然後開始自動伸縮。作為示例,下表演示了如果將集群重新配置為在5到10個節點之間自動伸縮,具有一定初始大小的集群將會發生什麼。

初始大小

重新配置後的尺寸

6

6

12

10

3.

5

本地磁盤加密

預覽

此功能已在公共預覽

用於運行集群的某些實例類型可能具有本地連接的磁盤。數據庫可以在這些本地連接的磁盤上存儲隨機數據或臨時數據。要確保對所有存儲類型(包括臨時存儲在集群本地磁盤上的隨機數據)的所有靜止數據進行加密,可以啟用本地磁盤加密。

重要的

由於從本地卷讀取和寫入加密數據對性能的影響,您的工作負載可能運行得更慢。

啟用本地磁盤加密後,Databricks會在本地生成每個集群節點唯一的加密密鑰,用於加密存儲在本地磁盤上的所有數據。該鍵的作用域對於每個集群節點都是本地的,並且與集群節點本身一起銷毀。在其生命周期內,密鑰駐留在內存中進行加密和解密,並加密存儲在磁盤上。

若要啟用本地磁盤加密,必須使用集群API 2.0.在創建或編輯集群時,設置:

“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,你用安全模式代替高並發集群模式確保訪問控製的完整性並執行強大的隔離保證。高並發集群模式與Unity目錄不可用。

高級選項,從以下集群安全模式中選擇:

  • 沒有一個:不隔離。不強製工作空間本地表訪問控製或憑據傳遞。無法訪問Unity Catalog數據。

  • 單用戶:隻能由單個用戶使用(默認為創建集群的用戶)。其他用戶無法掛載到集群。當從集群中訪問視圖時單用戶安全模式下,視圖以用戶的權限執行。單用戶集群支持使用Python、Scala和R. Init腳本的工作負載,支持庫安裝和DBFS掛載。自動化作業應該使用單用戶集群。

  • 用戶隔離:可由多個用戶共享。隻支持SQL工作負載。禁用庫安裝、初始化腳本和DBFS掛載,以強製在集群用戶之間進行嚴格隔離。

  • 僅限表ACL(遺留):強製工作空間-本地表訪問控製,但不能訪問Unity Catalog數據。

  • 僅通過(遺留):強製工作空間本地憑據傳遞,但不能訪問Unity Catalog數據。

Unity Catalog工作負載支持的唯一安全模式是單用戶而且用戶隔離

有關更多信息,請參見什麼是集群訪問模式?

AWS的配置

在配置集群的AWS實例時,可以選擇可用分區、最大現貨價格、EBS卷類型和大小以及實例配置文件。要指定配置,

  1. 2 .在集群配置界麵,單擊高級選項切換。

  2. 在頁麵底部,單擊實例選項卡。

    實例的選項卡

可用性區域

如果您的組織在特定可用分區中購買了預留實例,那麼為集群選擇特定的可用分區是非常有用的。閱讀更多AWS可用分區

自動可用分區(Auto-AZ)

您可以將集群配置為根據工作空間子網中的可用ip自動選擇可用分區,該特性稱為“Auto-AZ”。你必須使用集群API啟用Auto-AZ,設置awsattributes.zone_id“汽車”.如果AWS返回容量不足錯誤,Auto-AZ將在其他可用分區中重試。

現貨實例

您可以指定是否使用現貨實例,以及在啟動現貨實例時使用的最大現貨價格(按相應需求價格的百分比)。默認情況下,最大價格是按需價格的100%。看到AWS現貨定價

EBS卷

本節介紹工作節點的默認EBS卷設置、如何添加隨機卷以及如何配置集群以便Databricks自動分配EBS卷。

要配置EBS卷,請單擊實例選項卡中選擇一個選項EBS卷類型下拉列表。

默認EBS卷

Databricks為每個工作節點提供的EBS卷如下:

  • 30gb加密的EBS實例根卷,僅供主機操作係統和Databricks內部服務使用。

  • Spark worker使用的150gb加密的EBS容器根卷。存放Spark服務和日誌。

  • (僅限HIPAA)一個75 GB加密的EBS工作日誌卷,用於存儲Databricks內部服務的日誌。

添加EBS shuffle卷

如果需要添加shuffle卷,請選擇通用SSD在“EBS卷類型”下拉列表中:

EBS卷類型

缺省情況下,Spark shuffle輸出到實例本地磁盤。對於沒有本地磁盤的實例類型,或者如果希望增加Spark隨機存儲空間,可以指定額外的EBS卷。當運行產生大量shuffle輸出的Spark作業時,這對於防止磁盤空間耗盡特別有用。

Databricks為按需和現場實例加密這些EBS卷。閱讀更多AWS EBS卷

可選地使用客戶管理的密鑰加密Databricks EBS卷

您可以選擇使用客戶管理的密鑰加密集群EBS卷。

看到用於工作空間存儲的客戶管理密鑰

AWS EBS限製

確保您的AWS EBS限製足夠高,以滿足所有集群中所有工作者的運行時需求。有關默認EBS限製以及如何更改它們的信息,請參見Amazon彈性塊存儲(EBS)限製

AWS EBS SSD卷類型

您可以為AWS EBS SSD卷類型選擇gp2或gp3。要做到這一點,看SSD存儲管理.Databricks建議您改用gp3,因為與gp2相比,它可以節省成本。有關gp2和gp3的技術信息,請參見Amazon EBS卷類型

自動縮放本地存儲

如果不想在創建集群時分配固定數量的EBS卷,請使用自動伸縮本地存儲。通過自動伸縮本地存儲,Databricks可以監視集群Spark worker上可用的空閑磁盤空間的數量。如果一個worker的磁盤容量開始過低,Databricks會在它耗盡磁盤空間之前自動將一個新的EBS卷附加到這個worker上。每個實例(包括實例的本地存儲)所附加的EBS卷的總磁盤空間不超過5 TB。

如果需要配置自動伸縮存儲,請選擇啟用自動縮放本地存儲在自動駕駛儀選項框中:

啟用自動縮放本地存儲

隻有當實例返回到AWS時,才會分離附加到實例的EBS卷。也就是說,隻要實例是運行中的集群的一部分,就不會從實例中分離EBS卷。為了減少EBS的使用,Databricks建議在配置了AWS Graviton實例類型自動終止

請注意

Databricks使用吞吐量優化HDD (st1)擴展實例的本地存儲。的默認AWS容量限製這些卷的價格是20 xb。為了避免達到此限製,管理員應該根據自己的使用需求請求增加此限製。

請注意

如果您在2.44版本之前創建了Databricks帳戶(即在2017年4月27日之前),並且希望使用自動伸縮本地存儲(在高並發集群),您必須將卷權限添加到IAM角色或用於創建您的帳戶的密鑰。特別是,您必須添加權限ec2: AttachVolumeec2: CreateVolumeec2: DeleteVolume,ec2: DescribeVolumes.有關權限的完整列表以及關於如何更新現有IAM角色或密鑰的說明,請參見創建跨帳號IAM角色

實例配置文件

要在不使用AWS密鑰的情況下安全地訪問AWS資源,可以使用實例概要啟動Databricks集群。看到使用實例概要保護對S3桶的訪問有關如何創建和配置實例概要文件的信息。一旦你創建了一個實例概要文件,你可以在實例概要文件下拉列表中選擇它:

實例配置文件

請注意

一旦集群使用實例概要文件啟動,對該集群具有附加權限的任何人都可以訪問由該角色控製的底層資源。為了防止不必要的訪問,您可以使用集群訪問控製限製對集群的權限。

火花配置

為了優化Spark作業,您可以提供自定義Spark配置屬性在集群配置中。

  1. 2 .在集群配置界麵,單擊高級選項切換。

  2. 單擊火花選項卡。

    火花配置

    火花配置,以每行一個鍵值對的形式輸入配置屬性。

屬性配置集群時集群API 2.0中設置Spark屬性spark_conf創建集群請求編輯集群請求

若要為所有集群設置Spark屬性,請創建全局初始化腳本

dbutilsfs“dbfs: /磚/ init / set_spark_params.sh””“”| # !/bin/bash||cat << 'EOF' > /databricks/driver/conf/00-custom-spark-driver-defaults.conf . |cat << 'EOF' > /databricks/driver/conf/00-custom-spark-driver-defaults.conf .conf . |cat|(司機){|“spark.sql.sources。partitionOverwriteMode" = "DYNAMIC"|}| EOF”“”stripMargin真正的

從secret中檢索Spark配置屬性

Databricks建議將密碼等敏感信息存儲在數據庫中秘密而不是明文。要在Spark配置中引用一個秘密,請使用以下語法:

火花。<屬性名>{{秘密/ < scope-name > / <秘密名字>}}

例如,設置Spark配置屬性為密碼對儲存在裏麵的秘密的價值秘密/ acme_app /密碼

火花。密碼{{秘密/ acme-app /密碼}}

有關更多信息,請參見在Spark配置屬性或環境變量中引用秘密的語法

環境變量

您可以配置可以從中訪問的自定義環境變量init腳本在集群上運行。Databricks還提供預定義的環境變量你可以在初始化腳本中使用。不能重寫這些預定義的環境變量。

  1. 2 .在集群配置界麵,單擊高級選項切換。

  2. 單擊火花選項卡。

  3. 中設置環境變量環境變量字段。

    環境變量字段

屬性設置環境變量spark_env_vars創建集群請求編輯集群請求集群API端點。

集群的標簽

集群標記允許您輕鬆監控組織中各個組使用的雲資源的成本。在創建集群時,可以將標記指定為鍵-值對,Databricks將這些標記應用於虛擬機和磁盤卷等雲資源DBU使用報告

對於從池啟動的集群,自定義集群標記僅應用於DBU使用情況報告,而不會傳播到雲資源。

有關池和群集標記類型如何協同工作的詳細信息,請參見使用集群和池標記監視使用情況

為了方便起見,Databricks為每個集群應用了四個默認標記:供應商創造者ClusterName,ClusterId

此外,在作業集群上,Databricks應用了兩個默認標記:RunName而且JobId

在Databricks SQL使用的資源上,Databricks也應用默認標記SqlWarehouseId

警告

不分配自定義標簽與鍵的名字到集群。每個集群都有一個標記的名字由Databricks設置。如果您更改與鍵相關聯的值的名字,該集群將不再被Databricks跟蹤。因此,集群在空閑後可能不會被終止,並且將繼續產生使用成本。

您可以在創建集群時添加自定義標記。配置集群標簽。

  1. 2 .在集群配置界麵,單擊高級選項切換。

  2. 在頁麵底部,單擊標簽選項卡。

    標簽選項卡
  3. 為每個自定義標記添加一個鍵值對。您最多可以添加45個自定義標記。

詳情請參見使用集群和池標記監視使用情況

強製標記

為了確保在創建集群時總是填充某些標記,您可以將特定的IAM策略應用到您的帳戶的主要IAM角色(在帳戶設置期間創建的;如果需要訪問,請與AWS管理員聯係)。IAM策略應該包括顯式的否認聲明用於強製標記鍵和可選值。創建集群失敗如果沒有提供包含允許值之一的必需標記。

例如,如果你想強製部門而且項目標簽,對於前者隻允許指定的值,對於後者隻允許一個自由形式的非空值,您可以應用像這樣的IAM策略:

“版本”“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每個標記都需要操作,以有效覆蓋以下場景:集群中隻有按需實例、隻有現場實例或兩者都有。

提示

Databricks建議為每個標記添加單獨的策略聲明。整個策略可能變得很長,但是更容易調試。看到IAM Policy條件操作符參考獲取可在策略中使用的操作符的列表。

請注意

由於IAM策略導致集群創建錯誤編碼錯誤消息,首先是:

雲提供程序啟動失敗:在設置集群時遇到雲提供程序錯誤。

對消息進行編碼是因為授權狀態的詳細信息可能構成請求操作的用戶不應該看到的特權信息。看到DecodeAuthorizationMessage API(或CLI),以了解如何解碼這類訊息。

對集群的SSH訪問

請注意

您不能使用SSH登錄到一個集群安全的集群連接啟用。

SSH允許遠程登錄Apache Spark集群進行高級故障排除和安裝自定義軟件。

有關相關特性,請參見網絡終端

本節介紹如何配置AWS帳戶,以啟用使用公鑰進入訪問集群,以及如何打開到集群節點的SSH連接。

配置安全組

您必須更新AWS帳戶中的Databricks安全組,以提供對您將發起SSH連接的IP地址的入口訪問權。您可以為單個IP地址設置此選項,也可以提供代表整個辦公室IP範圍的範圍。

  1. 在AWS控製台中,找到Databricks安全組。它會有一個類似的標簽< databricks-instance > -worker-unmanaged.(例如:dbc-fb3asdddd3-worker-unmanaged

  2. 編輯安全組並添加允許端口的入站TCP規則2200工人機器。可以是單個IP地址,也可以是一個範圍。

    SSH安全組
  3. 確保您的計算機和辦公室允許您在端口上發送TCP流量2200

生成SSH密鑰對

在終端會話中創建SSH密鑰對:

Ssh-keygen -t rsa -b4096- c“email@example.com”

您必須提供要保存公鑰和私鑰的目錄的路徑。公鑰與擴展名一起保存.pub

使用您的公鑰配置一個新的集群

  1. 複製公鑰文件的全部內容。

  2. 2 .在集群配置界麵,單擊高級選項切換。

  3. 在頁麵底部,單擊SSH選項卡。

  4. 將複製的密鑰粘貼到SSH公鑰字段。

    SSH輸入

使用您的公鑰配置現有集群

如果你有一個集群,並且在創建集群時沒有提供公鑰,你可以通過從附加到集群的任何筆記本上運行這段代碼來注入公鑰:

瓦爾publicKey“把你的公開密碼匙放在這裏”defaddAuthorizedPublicKey關鍵字符串):單位瓦爾弗蘭克-威廉姆斯javaioFileWriter“/ home / ubuntu / . ssh / authorized_keys”/*追加*/真正的弗蘭克-威廉姆斯“\ n”+關鍵弗蘭克-威廉姆斯關閉()瓦爾numExecutorsscgetExecutorMemoryStatus大小sc並行化0直到numExecutorsnumExecutors).foreach= >addAuthorizedPublicKeypublicKeyaddAuthorizedPublicKeypublicKey

SSH登錄Spark驅動節點

  1. 2 .在集群配置界麵,單擊高級選項切換。

  2. 單擊SSH選項卡。複製驅動程序節點主機名。

  3. 執行如下命令,替換主機名和私鑰文件路徑。

    SSH ubuntu@ -p2200我< private-key-file-path >

SSH進入Spark工作節點

SSH到工作節點的方式與SSH到驅動節點的方式相同。

  1. 在集群詳細信息頁麵,單擊Spark Cluster UI - Master選項卡。

  2. 在Workers表中,單擊要SSH進入的工作者。複製Hostname字段。

    SSH主機名

集群日誌傳遞

在創建集群時,可以指定Spark driver節點、worker節點和事件的日誌傳遞位置。日誌每5分鍾發送一次到您選擇的目的地。當一個集群被終止時,Databricks保證交付在集群被終止之前生成的所有日誌。

日誌的目的地取決於集群ID。如果指定的目標為dbfs: / cluster-log-delivery,集群日誌0630 - 191345 leap375送貨至dbfs: / cluster-log-delivery / 0630 - 191345 leap375

設置日誌傳遞位置。

  1. 2 .在集群配置界麵,單擊高級選項切換。

  2. 單擊日誌記錄選項卡。

    集群日誌傳遞

  3. 選擇目標類型。

  4. 輸入集群日誌路徑。

S3桶目的地

如果選擇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 2.0而且集群日誌傳遞示例

Init腳本

集群節點初始化腳本(或初始化腳本)是在每個集群節點啟動期間運行的shell腳本之前啟動Spark驅動程序或worker JVM。可以使用init腳本安裝Databricks運行時未包含的包和庫、修改JVM係統類路徑、設置JVM使用的係統屬性和環境變量、修改Spark配置參數等配置任務。

控件可以將初始化腳本附加到集群高級選項部分,並單擊Init腳本選項卡。

有關詳細說明,請參見集群節點初始化腳本