實例池API 2.0

實例池API允許您創建、編輯、刪除和列表實例池。

實例池減少集群開始和伸縮時間通過維護一套閑置,隨時可用的雲實例。當一個集群連接池需要一個實例,它首先試圖分配空閑池的一個實例。如果池中沒有空閑的情況下,它擴展分配一個新實例的實例提供者為了適應集群的請求。當一個集群釋放一個實例,它返回到池中並為另一個集群使用是免費的。隻有集群連接池可以使用空閑池的實例。

磚不收取DBUs實例在空閑池中。實例提供賬單是否適用。看到定價

需求

  • 你必須允許連接池;看到池的訪問控製

  • 你必須添加以下權限訪問政策與cross-account我角色或鍵用於創建你的AWS帳戶:

    {“行動”:(“ec2: AssociateIamInstanceProfile”,“ec2: DescribeIamInstanceProfileAssociations”,“ec2: DisassociateIamInstanceProfile”,“ec2: ReplaceIamInstanceProfileAssociation”,“ec2: DeleteTags”]}

    完整列表的權限和說明如何更新您的現有cross-account我角色或鑰匙,明白了創建一個cross-account我的角色或聯係你的內部磚管理員。

    重要的

    如果你不把這些權限,您將無法啟動集群。

重要的

訪問數據磚REST api,你必須進行身份驗證

創建

端點

HTTP方法

2.0 / instance-pools /創建

帖子

創建一個實例池。使用返回的instance_pool_id查詢實例池的狀態,其中包括當前實例的數量分配的實例池。如果你提供min_idle_instances參數,實例是在後台配置,準備一旦使用idle_countInstancePoolStats等於要求最低。

如果你的賬戶有磚容器服務啟用創建和實例池preloaded_docker_images,您可以使用實例池啟動集群,碼頭工人的形象。碼頭工人形象實例池中沒有匹配的碼頭工人形象集群。然而,集群的容器環境上創建池必須結合實例池的容器環境:您不能使用池創建一個實例preloaded_docker_images啟動集群沒有碼頭工人的形象,您不能使用沒有創建一個實例池preloaded_docker_images啟動集群的碼頭工人的形象。

請注意

磚可能無法獲得的一些要求空閑實例由於實例提供者的局限性(賬戶限製,現貨價格,等等)或瞬態網絡問題。集群仍然可以連接到實例池,但可能不會很快開始。

例子

curl——netrc - x\https://dbc-a1b2345c-d6e7.cloud.m.eheci.com/api/2.0/instance-pools/create\——數據@create-instance-pool.json

create-instance-pool.json:

{“instance_pool_name”:“把遊泳池”,“node_type_id”:“i3.xlarge”,“min_idle_instances”:10,“aws_attributes”:{“可用性”:“現貨”},“custom_tags”:({“關鍵”:“我的鑰匙”,“價值”:“自己的價值”}]}
{“instance_pool_id”:“1234 - 567890 - fetch12池a3bcdefg”}

請求結構

字段名

類型

描述

instance_pool_name

字符串

實例池的名稱。這是需要創建和編輯操作。它必須是唯一的,非空,小於100個字符。

min_idle_instances

INT32

最小數量的空閑池維護的實例。這是除了活躍集群使用的任何實例。

max_capacity

INT32

的最大實例數池可以包含,包括閑置的實例和使用集群。一旦達到最大容量,你不能從池中創建新集群和現有集群不能自動定量直到某些情況下是由空閑池中通過集群終止或縮小規模。

aws_attributes

InstancePoolAwsAttributes

屬性相關實例池運行在Amazon Web服務。如果沒有指定在創建的時候,使用一組默認值。

node_type_id

字符串

節點類型的實例池。所有集群連接在池繼承這個節點類型和池的空閑實例分配基於這種類型。您可以檢索利用的可用節點類型的列表節點類型列表API調用。

custom_tags

一個數組的ClusterTag

附加標記為實例池資源。磚標簽的所有資源(例如AWS實例和EBS卷)除了default_tags與這些標簽。

磚最多允許43定製標記。

idle_instance_autotermination_minutes

INT32

分鍾空閑實例的數量超過min_idle_instances前池維護的被終止。如果不指定,多餘的空閑實例一個默認的超時周期後自動終止。如果指定,時間必須在0到10000分鍾之間。如果您指定0,多餘的空閑實例盡快刪除。

enable_elastic_disk

BOOL

自動定量本地存儲:啟用時,實例池中動態獲取額外的磁盤空間不足時磁盤空間。

disk_spec

DiskSpec

定義的初始量遠程存儲池中的每個實例。

preloaded_spark_versions

一個數組的字符串

池列表和一個運行時版本安裝在每一個實例。池集群使用一個預加載的運行時版本開始更快,因為他們不必等待圖片下載。您可以檢索通過使用可用的運行時版本的列表運行時版本API調用。

preloaded_docker_images

一個數組的DockerImage

與一個碼頭工人形象列表池安裝在每個實例。池集群使用預加載的碼頭工人形象開始更快,因為他們不必等待圖片下載。隻有如果你的賬戶有磚容器服務啟用

響應結構

字段名

類型

描述

instance_pool_id

字符串

的ID創建的實例池。

編輯

端點

HTTP方法

2.0 / instance-pools /編輯

帖子

編輯一個實例池。這個修改現有的配置實例池。

請注意

  • 您可以編輯隻有以下值:instance_pool_name,min_idle_instances,max_capacity,idle_instance_autotermination_minutes

  • 你必須提供一個instance_pool_name價值。

例子

curl——netrc - x\https://dbc-a1b2345c-d6e7.cloud.m.eheci.com/api/2.0/instance-pools/edit\——數據@edit-instance-pool.json

edit-instance-pool.json:

{“instance_pool_id”:“1234 - 567890 - fetch12池a3bcdefg”,“instance_pool_name”:“my-edited-pool”,“min_idle_instances”:5,“max_capacity”:200年,“idle_instance_autotermination_minutes”:30.}
{}

請求結構

字段名

類型

描述

instance_pool_id

字符串

編輯的ID實例池。這個字段是必需的。

instance_pool_name

字符串

實例池的名稱。這是需要創建和編輯操作。它必須是唯一的,非空,小於100個字符。

min_idle_instances

INT32

最小數量的空閑池維護的實例。這是除了活躍集群使用的任何實例。

max_capacity

INT32

的最大實例數池可以包含,包括閑置的實例和使用集群。一旦達到最大容量,你不能從池中創建新集群和現有集群不能自動定量直到某些情況下是由空閑池中通過集群終止或縮小規模。

idle_instance_autotermination_minutes

INT32

分鍾空閑實例的數量超過了min_idle_instances在被終止前池維護的。如果不指定,多餘的空閑實例一個默認的超時周期後自動終止。如果指定,時間必須在0到10000分鍾之間。如果提供0,多餘的空閑實例盡快刪除。

刪除

端點

HTTP方法

2.0 / instance-pools /刪除

帖子

刪除實例池。這個永久刪除實例池。異步池中的空閑實例被終止。新的集群不能附加到池中。運行集群連接池繼續運行,但不能自動定量。終止集群連接池將無法啟動,直到他們不再使用編輯池。

例子

curl——netrc - x\https://dbc-a1b2345c-d6e7.cloud.m.eheci.com/api/2.0/instance-pools/delete\——數據”{instance_pool_id”:“1234 - 567890 - fetch12池a3bcdefg“}”
{}

請求結構

字段名

類型

描述

instance_pool_id

字符串

要刪除的實例的ID池。

得到

端點

HTTP方法

2.0 / instance-pools /

得到

檢索信息的一個實例池鑒於其標識符。

例子

curl——netrc - x\https://dbc-a1b2345c-d6e7.cloud.m.eheci.com/api/2.0/instance-pools/get\——數據”{instance_pool_id”:“1234 - 567890 - fetch12池a3bcdefg“}”
{“instance_pool_name”:“mypool”,“min_idle_instances”:0,“aws_attributes”:{“可用性”:“現貨”,“zone_id”:“us-west-2a”,“spot_bid_price_percent”:One hundred.},“node_type_id”:“c4.2xlarge”,“custom_tags”:{“我的鑰匙”:“自己的價值”},“idle_instance_autotermination_minutes”:60,“enable_elastic_disk”:,“disk_spec”:{“disk_type”:{“ebs_volume_type”:“GENERAL_PURPOSE_SSD”},“disk_count”:1,“disk_size”:One hundred.},“preloaded_spark_versions”:(“5.4.x-scala2.11”),“instance_pool_id”:“1234 - 567890 - fetch12池a3bcdefg”,“default_tags”:{“供應商”:“磚”,“DatabricksInstancePoolCreatorId”:“100125”,“DatabricksInstancePoolId”:“1234 - 567890 - fetch12池a3bcdefg”},“狀態”:“活躍”,“統計數據”:{“used_count”:10,“idle_count”:5,“pending_used_count”:5,“pending_idle_count”:5},“狀態”:{}}

請求結構

字段名

類型

描述

instance_pool_id

字符串

實例池中檢索信息。

響應結構

字段名

類型

描述

instance_pool_name

字符串

實例池的名稱。這是需要創建和編輯操作。它必須是唯一的,非空,小於100個字符。

min_idle_instances

INT32

最小數量的空閑池維護的實例。這是除了活躍集群使用的任何實例。

max_capacity

INT32

的最大實例數池可以包含,包括閑置的實例和使用集群。一旦達到最大容量,你不能從池中創建新集群和現有集群不能自動定量直到某些情況下是由空閑池中通過集群終止或縮小規模。

aws_attributes

InstancePoolAwsAttributes

屬性相關實例池運行在Amazon Web服務。如果沒有指定在創建的時候,使用一組默認值。

node_type_id

字符串

節點類型的實例池。所有集群連接在池繼承這個節點類型和池的空閑實例分配基於這種類型。您可以檢索利用的可用節點類型的列表節點類型列表API調用。

custom_tags

一個數組的ClusterTag

附加標記為實例池資源。磚標簽的所有資源(例如AWS實例和EBS卷)除了default_tags與這些標簽。

磚最多允許43定製標記。

idle_instance_autotermination_minutes

INT32

分鍾空閑實例的數量超過了min_idle_instances在被終止前池維護的。如果不指定,多餘的空閑實例一個默認的超時周期後自動終止。如果指定,時間必須在0到10000分鍾之間。如果提供0,多餘的空閑實例盡快刪除。

enable_elastic_disk

BOOL

自動定量本地存儲:啟用時,實例池中動態獲取額外的磁盤空間不足時磁盤空間。

disk_spec

DiskSpec

定義的初始量遠程存儲池中的每個實例。

preloaded_spark_versions

一個數組的字符串

池列表與運行時版本安裝在每一個實例。池集群使用一個預加載的運行時版本開始更快,因為他們不必等待圖片下載。您可以檢索通過使用可用的運行時版本的列表運行時版本API調用。

instance_pool_id

字符串

規範化的惟一標識符實例池。

default_tags

一個數組的ClusterTag

所添加的標簽數據磚不管任何custom_tags,包括:

  • 供應商:磚

  • DatabricksInstancePoolCreatorId: < create_user_id >

  • DatabricksInstancePoolId: < instance_pool_id >

狀態

InstancePoolState

當前狀態的實例池。

統計數據

InstancePoolStats

統計信息的使用實例池。

狀態

InstancePoolStatus

地位待定失敗實例池中。

列表

端點

HTTP方法

2.0 / instance-pools /列表

得到

為所有實例池列表信息。

例子

curl——netrc - x\https://dbc-a1b2345c-d6e7.cloud.m.eheci.com/api/2.0/instance-pools/list
{“instance_pools”:({“instance_pool_name”:“mypool”,“min_idle_instances”:0,“aws_attributes”:{“可用性”:“現貨”,“zone_id”:“us-west-2a”,“spot_bid_price_percent”:One hundred.},“node_type_id”:“c4.2xlarge”,“idle_instance_autotermination_minutes”:60,“enable_elastic_disk”:,“disk_spec”:{“disk_type”:{“ebs_volume_type”:“GENERAL_PURPOSE_SSD”},“disk_count”:1,“disk_size”:One hundred.},“preloaded_spark_versions”:(“5.4.x-scala2.11”),“instance_pool_id”:“1234 - 567890 - fetch12池a3bcdefg”,“default_tags”:{“供應商”:“磚”,“DatabricksInstancePoolCreatorId”:“100125”,“DatabricksInstancePoolId”:“1234 - 567890 - fetch12池a3bcdefg”},“狀態”:“活躍”,“統計數據”:{“used_count”:10,“idle_count”:5,“pending_used_count”:5,“pending_idle_count”:5},“狀態”:{}},{“…”}]}

響應結構

字段名

類型

描述

instance_pools

一個數組的InstancePoolStatus

一個與他們的統計數據包括實例池列表。

數據結構

InstancePoolState

一個實例池的狀態。當前的狀態轉換:

  • 活躍的- >刪除

的名字

描述

活躍的

表明一個實例池是活躍的。集群可以連接到它。

刪除

表明該實例池已被刪除,不再訪問。

InstancePoolStats

統計信息的使用實例池。

字段名

類型

描述

used_count

INT32

數量的活動實例所使用的一個集群。

idle_count

INT32

的活動實例不使用一個集群。

pending_used_count

INT32

一些懸而未決的實例被分配到一個集群。

pending_idle_count

INT32

一些懸而未決的實例並不指定到一個集群。

InstancePoolStatus

地位待定失敗實例池中。

字段名

類型

描述

pending_instance_errors

一個數組的PendingInstanceError

失敗的錯誤消息列表懸而未決的實例。

PendingInstanceError

一個失敗的錯誤消息等待實例。

字段名

類型

描述

即instance_id

字符串

失敗的實例的ID。

消息

字符串

消息描述失敗的原因。

DiskSpec

描述的初始設置磁盤連接到每個實例。例如,如果有3個實例,每個實例配置為從2開始磁盤,100直布羅陀海峽,然後磚創建共有6個磁盤,100直布羅陀海峽,對這些實例。

字段名

類型

描述

disk_type

DiskType

附加的磁盤類型。

disk_count

INT32

磁盤連接到每個實例的數量:

  • 此功能隻支持支持節點類型。

  • 用戶可以選擇的限製所支持的磁盤節點類型。

  • 節點類型沒有本地磁盤,至少需要指定一個磁盤。

disk_size

INT32

每個磁盤的大小(在直布羅陀海峽)連接。值必須屬於特定實例類型的支持範圍:

  • 通用SSD: 100 - 4096直布羅陀海峽

  • 吞吐量優化硬盤:500 - 4096直布羅陀海峽

DiskType

描述了磁盤的類型。

字段名

類型

描述

ebs_volume_type

EbsVolumeType

EBS卷類型使用。

InstancePoolAndStats

字段名

類型

描述

instance_pool_name

字符串

實例池的名稱。這是需要創建和編輯操作。它必須是唯一的,非空,小於100個字符。

min_idle_instances

INT32

最小數量的空閑池維護的實例。這是除了活躍集群使用的任何實例。

max_capacity

INT32

的最大實例數池可以包含,包括閑置的實例和使用集群。一旦達到最大容量,你不能從池中創建新集群和現有集群不能自動定量直到某些情況下是由空閑池中通過集群終止或縮小規模。

aws_attributes

InstancePoolAwsAttributes

屬性相關實例池運行在Amazon Web服務。如果沒有指定在創建的時候,使用一組默認值。

node_type_id

字符串

節點類型的實例池。所有集群連接在池繼承這個節點類型和池的空閑實例分配基於這種類型。您可以檢索利用的可用節點類型的列表節點類型列表API調用。

custom_tags

一個數組的ClusterTag

附加標記為實例池資源。磚標簽的所有資源(例如AWS實例和EBS卷)除了default_tags與這些標簽。

磚最多允許43定製標記。

idle_instance_autotermination_minutes

INT32

分鍾空閑實例的數量超過了min_idle_instances在被終止前池維護的。如果不指定,多餘的空閑實例一個默認的超時周期後自動終止。如果指定,時間必須在0到10000分鍾之間。如果提供0,多餘的空閑實例盡快刪除。

enable_elastic_disk

BOOL

自動定量本地存儲:啟用時,實例池中動態獲取額外的磁盤空間不足時磁盤空間。

disk_spec

DiskSpec

定義的初始量遠程存儲池中的每個實例。

preloaded_spark_versions

一個數組的字符串

池列表與運行時版本安裝在每一個實例。池集群使用一個預加載的運行時版本開始更快,因為他們不必等待圖片下載。您可以檢索通過使用可用的運行時版本的列表運行時版本API調用。

instance_pool_id

字符串

規範化的惟一標識符實例池。

default_tags

一個數組的ClusterTag

所添加的標簽數據磚不管任何custom_tags,包括:

  • 供應商:磚

  • DatabricksInstancePoolCreatorId: < create_user_id >

  • DatabricksInstancePoolId: < instance_pool_id >

狀態

InstancePoolState

當前狀態的實例池。

統計數據

InstancePoolStats

統計信息的使用實例池。

InstancePoolAwsAttributes

屬性設置實例池創建期間與Amazon Web服務。

字段名

類型

描述

可用性

AwsAvailability

可用性類型用於所有實例池中。隻有ON_DEMAND現貨都受支持。

zone_id

字符串

標識符的可用性區域/實例池所在的數據中心。這個字符串是像“us-west-2a”的形式。提供的可用性區域必須在同一地區磚部署。例如,“us-west-2a”不是一個有效的區域ID如果磚部署駐留在“us-east-1”地區。這是一個可選的字段。如果沒有指定,默認區域使用。你可以找到可用區域的列表以及通過使用默認值列表區域API。

spot_bid_price_percent

INT32

AWS實例,馬克斯價格的比例相應的實例類型的隨需應變的價格。例如,如果這個字段設置為50,和需要一個新實例池i3.xlarge現貨實例,那麼馬克斯價格是隨需應變的價格的一半i3.xlarge實例。同樣,如果這個字段被設置為200,馬克斯價格是隨需應變的價格的兩倍i3.xlarge實例。如果沒有指定,默認值為100。當現貨實例請求這個實例池,隻有現貨實例的馬克斯價格百分比匹配這一領域。為安全起見,該字段不能大於10000。

EbsVolumeType

磚支持所有EBS卷類型。看到https://aws.amazon.com/ebs/features/獲取詳細信息。

的名字

描述

GENERAL_PURPOSE_SSD

提供額外的存儲使用AWS gp2 EBS卷。

THROUGHPUT_OPTIMIZED_HDD

提供額外的存儲使用AWS相約卷。