你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure HDInsight 中的群集 REST API

创建

在指定的订阅中创建群集。

请求

有关群集使用的标头和参数,请参阅 通用 参数和标头。

方法 请求 URI
PUT https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}?api-version={api-version}

以下示例演示用于创建基于 Linux 的 hadoop 群集的请求正文。 有关以其他方式创建群集的示例,请参阅下面的示例部分。

{  
    "id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.HDInsight/clusters/mycluster",  
  "name":"mycluster",   
  "type":"Microsoft.HDInsight/clusters",  
  
    "location": "location-name",  
    "tags": { "tag1": "value1", "tag2": "value2" },  
    "properties": {  
        "clusterVersion": "3.2",  
        "osType": "Linux",  
        "clusterDefinition": {  
            "kind": "hadoop",  
  
            "configurations": {  
                "gateway": {  
                    "restAuthCredential.isEnabled": true,  
                    "restAuthCredential.username": "http-user",  
                    "restAuthCredential.password": "password"  
                },  
  
                "core-site": {  
                    "fs.defaultFS": "wasb://container@storageaccount.blob.core.windows.net",  
                    "fs.azure.account.key.storageaccount.blob.core.windows.net": storage-account-key"  
                }  
            }  
        },
  
        "computeProfile": {  
            "roles": [  
                {  
                    "name": "headnode",  
  
                    "targetInstanceCount": 2,  
  
                    "hardwareProfile": {  
                        "vmSize": "Large"  
                    },  
  
                    "osProfile": {  
                        "linuxOperatingSystemProfile": {  
                            "username": "username",  
                            "sshProfile": {  
                                "publicKeys": [   
                                    { "certificateData": "ssh-rsa key" }  
                                ]  
                            }  
                        }  
                    }  
                },  
                {  
                    "name": "workernode",  
  
                    "targetInstanceCount": 1,  
  
                    "hardwareProfile": {  
                        "vmSize": "Large"  
                    },  
  
                    "osProfile": {  
                        "linuxOperatingSystemProfile": {  
                            "username": "username",  
                            "sshProfile": {  
                                "publicKeys": [  
                                    { "certificateData": " ssh-rsa key" }  
                                ]  
                            }  
                        }  
                    }  
                },  
                {  
                    "name": "zookeepernode",  
  
                    "targetInstanceCount": 3,  
  
                    "hardwareProfile": {  
                        "vmSize": "Small"  
                    },  
  
                    "osProfile": {  
                        "linuxOperatingSystemProfile": {  
                            "username": "username",  
                            "sshProfile": {  
                                "publicKeys": [   
                                    { "certificateData": "ssh-rsa key" }  
                                ]  
                            }  
                        }  
                    }  
                }  
            ]  
        }  
    }  
}  
  
元素名称 必须 类型 说明
id String 指定群集的资源标识符。
name String 指定群集的名称。
type String 指定群集的类型。
location String 指定应在其中创建群集的受支持 Azure 位置。 有关详细信息,请参阅 列出所有可用的地理位置
标记 String 指定将分配给群集的标记。 有关使用标记的详细信息,请参阅 使用标记来组织 Azure 资源
属性 复杂类型 指定群集的属性。

属性

元素名称 必须 类型 说明
clusterVersion String 指定群集版本
osType String 指定群集的操作系统。

有效值为 LinuxWindows
clusterDefinition 复杂类型 指定有关群集类型和配置的信息
computeProfile 复杂类型 指定有关群集拓扑和关联角色属性的信息

clusterDefinition

元素名称 必须 类型 说明
kind String 指定群集类型。

有效值为 hadoop、hbase、storm & spark
配置 字典 此元素是配置类型的字典及其关联的值字典。

网关配置类型用于配置用于连接到 Web API 和 Ambari 门户的 http 用户

core-site 配置类型用于配置群集的默认存储帐户

computeProfile

元素名称 必须 类型 说明
clusterVersion String 指定群集版本
role 复杂类型 (角色) 数组 指定有关群集中角色的信息

角色 (role)

元素名称 必须 类型 说明
name String 指定角色名称
targetInstanceCount Integer 指定角色的目标实例计数
hardwareProfile 复杂类型 指定有关角色的硬件配置文件的信息
osProfile 复杂类型 指定有关角色的 os 配置文件的信息

hardwareProfile

元素名称 必须 类型 说明
vmSize String 指定 VM 的大小。 请参阅此链接上的 HDInsight 配置选项 (一次,向下滚动到 节点定价层) 以获取有效大小

osProfile

元素名称 必须 类型 说明
linuxOperatingSystemProfile 复杂类型 指定与 Linux OS 相关的设置
windowsOperatingSystemProfile 复杂类型 指定与 Windows OS 相关的设置
virtualNetworkProfile 复杂类型 如果群集正在用户订阅中的虚拟网络中部署,则指定与虚拟网络相关的设置
scriptActions 复杂类型的数组 要对群集执行的脚本操作列表

linuxOperatingSystemProfile

元素名称 必须 类型 说明
用户名 String SSH 用户名
sshProfile 复杂类型 指定 SSH 密钥。

需要 sshProfile 或 Password 之一。
密码 String 指定 SSH 密码

需要 sshProfile 或 Password 之一。

sshProfile

元素名称 必须 类型 说明
publicKeys Array 包含 certificateData 对象的列表。 该值是 ssh-rsa 公钥

windowsOperatingSystemProfile

元素名称 必须 类型 说明
rdpSettings 复杂类型 指定 Windows 群集的 RDP 设置

rdpSettings

元素名称 必须 类型 说明
username String 指定 RDP 用户名
password String 指定 RDP 用户的密码
expiryDate Date RDP 凭据的到期日期

virtualNetworkProfile

元素名称 必须 类型 说明
id String 虚拟网络资源 ID
子网 String 指定子网名称

scriptActions

元素名称 必须 类型 说明
name String 脚本操作的友好名称
uri String 脚本操作文件的 URL
parameters String 执行脚本操作文件时要传递的参数

响应

如果验证完成并接受请求,则操作将返回 200 (正常) 。

状态代码: 200 正常

Linux 群集的响应正文使用 ssh 密钥创建:

{  
    "id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.HDInsight/clusters/mycluster",  
  "name":"mycluster",   
  "type":"Microsoft.HDInsight/clusters",  
  
    "location": "location-name",  
    "tags": { "tag1": "value1", "tag2": "value2" },  
    "properties": {  
        "clusterVersion": "3.2",  
        "osType": "Linux",  
		"provisioningState": "InProgress",  
		"clusterState": "Accepted",  
		"createdDate": "2015-09-23",  
		"quotaInfo": {  
			"coresUsed": 20  
}  
        "clusterDefinition": {  
            "kind": "hadoop"  
        },  
  
        "computeProfile": {  
            "roles": [  
                {  
                    "name": "headnode",  
  
                    "targetInstanceCount": 2,  
  
                    "hardwareProfile": {  
                        "vmSize": "Large"  
                    }  
  
                },  
                {  
                    "name": "workernode",  
  
                    "targetInstanceCount": 1,  
  
                    "hardwareProfile": {  
                        "vmSize": "Large"  
                    }  
                },  
                {  
                    "name": "zookeepernode",  
  
                    "targetInstanceCount": 3,  
  
                    "hardwareProfile": {  
                        "vmSize": "Small"  
                    }  
                }  
            ]  
        }  
    }  
}  
  
元素名称 类型 说明
provisioningState String 指示当前预配状态。
clusterState String 指示预配正在进行时更详细的 HDInsight 群集状态。
createdDate 日期 收到群集创建请求的日期/时间
quotaInfo 复杂类型 指定群集使用的核心
错误 错误消息数组 如果 provisioningState = “failed” ,则包含错误消息
connectivityEndpoints 复杂类型 指定群集的公共终结点

connectivityEndpoints

元素名称 类型 说明
name String 连接终结点的友好名称
protocol 字符串 指定要使用的协议 (示例:HTTPS、SSH)
location String 指定要连接的 URL
port int 指定要连接的端口

创建高级、已加入域的 HDInsight 群集(仅限 Linux (预览版)

使用 Apache Ranger 创建已加入高级域的群集。 用户需要在请求正文中提供 SecurityProfile 才能创建安全群集。

请求

有关群集使用的标头和参数,请参阅 常见参数 和标头。

方法 请求 URI
PUT https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}?api-version={api-version}

以下示例演示用于创建基于 Linux、高级、已加入域的 Hadoop 群集的请求正文。

{
	"id": "/subscriptions/{ subscription-id }/resourceGroups/myresourcegroup1/providers/Microsoft.HDInsight/ clusters/mycluster ", "
	name "
	: "mycluster",
	"type": "Microsoft.HDInsight/clusters",
	"location": "location-name",
	"tags": {
		"tag1": "value1",
		"tag2": "value2"
	},
	"properties": {
		"clusterVersion": "3.5",
		"osType": "Linux",
		"tier": "premium",
		"clusterDefinition": {
			"kind": "hadoop",
			"configurations": {
				"gateway": {
					"restAuthCredential.isEnabled": true,
					"restAuthCredential.username": "http-user",
					"restAuthCredential.password": "password"
				},
				"core-site": {
					"fs.defaultFS": "wasb://container@storageaccount.blob.core.windows.net",
					"fs.azure.account.key.storageaccount.blob.core.windows.net": "storage-account-key"
				}
			}
		},
		"securityProfile": {
			"directoryType": "ActiveDirectory",
			"domain": "mydomain.com",
			"organizationalUnitDN": "OU=Hadoop,DC=mydomain,DC=COM",
			"ldapsUrls": ["ldaps://mydomain.com:636"],
			"domainUsername": "clusteradmin@mydomain.com",
			"domainUserPassword": "password",
			"clusterUsersGroupDNs": ["ADGroup1", "ADGroup2"]
		},
		"computeProfile": {
			"roles": [
				{
					"name": "headnode",
					"targetInstanceCount": 2,
					"hardwareProfile": {
						"vmSize": "Large"
					},
					"osProfile": {
						"linuxOperatingSystemProfile": {
							"username": "username",
							"sshProfile": {
								"publicKeys": [
									{
										"certificateData": "ssh-rsa key"
									}
								]
							}
						}
					},
					"virtualNetworkProfile": {
						"id": "/subscriptions/mysubscriptionid/resourceGroups/myrresourcegroup/providers/Microsoft.Network/virtualNetworks/myvirtualnetwork",
						"subnet": "/subscriptions/mysubscriptionid /resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/myvirtualnetwork/subnets/mysubnet"
					}
				},
				{
					"name": "workernode",
					"targetInstanceCount": 1,
					"hardwareProfile": {
						"vmSize": "Large"
					},
					"osProfile": {
						"linuxOperatingSystemProfile": {
							"username": "username",
							"sshProfile": {
								"publicKeys": [
									{
										"certificateData": " ssh-rsa key"
									}
								]
							}
						}
					},
					"virtualNetworkProfile": {
						"id": "/subscriptions/mysubscriptionid/resourceGroups/myrresourcegroup/providers/Microsoft.Network/virtualNetworks/myvirtualnetwork",
						"subnet": "/subscriptions/mysubscriptionid /resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/myvirtualnetwork/subnets/mysubnet"
					}
				},
				{
					"name": "zookeepernode",
					"targetInstanceCount": 3,
					"hardwareProfile": {
						"vmSize": "Small"
					},
					"osProfile": {
						"linuxOperatingSystemProfile": {
							"username": "username",
							"sshProfile": {
								"publicKeys": [
									{
										"certificateData": "ssh-rsa key"
									}
								]
							}
						},
						"virtualNetworkProfile": {
							"id": "/subscriptions/mysubscriptionid/resourceGroups/myrresourcegroup/providers/Microsoft.Network/virtualNetworks/myvirtualnetwork",
							"subnet": "/subscriptions/mysubscriptionid /resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/myvirtualnetwork/subnets/mysubnet"
						}
					}
				}
			]
		}
	}
}  
  
元素名称 必须 类型 说明
id String 指定群集的资源标识符。
name String 指定群集的名称。
type String 指定群集的类型。
location String 指定应在其中创建群集的受支持 Azure 位置。 有关详细信息,请参阅 列出所有可用的地理位置
标记 String 指定将分配给群集的标记。 有关使用标记的详细信息,请参阅 使用标记来组织 Azure 资源
属性 复杂类型 指定群集的属性。

属性

元素名称 必须 类型 说明
clusterVersion String 指定群集版本
osType String 指定群集的操作系统。

有效值为 Linux, 因为只有 Linux 群集类型可以加入 Azure AD 域。
String 默认值为 标准值。 有效值为 标准 值和 高级值。 如果未指定任何值,则假定该值为 标准值。 指定群集的层。 加入域的群集仅在高级层中受支持
clusterDefinition 复杂类型 指定有关群集类型和配置的信息
computeProfile 复杂类型 指定有关群集拓扑和关联角色属性的信息
securityProfile 复杂类型 如果正在创建已加入域的安全群集,则此元素指定 Active Directory 相关设置

clusterDefinition

元素名称 必须 类型 说明
kind String 指定群集类型。

有效值为 hadoop、hbase、storm & spark
配置 字典 此元素是配置类型的字典及其关联的值字典。

网关配置类型用于配置用于连接到 Web API 和 Ambari 门户的 http 用户

core-site 配置类型用于配置群集的默认存储帐户

computeProfile

元素名称 必须 类型 说明
clusterVersion String 指定群集版本
role 复杂类型 (角色) 数组 指定有关群集中角色的信息

securityProfile

元素名称 必须 类型 说明
directoryType String 使用的 LDAP 目录的类型。 目前,“ActiveDirectory”是唯一受支持的值。
String 群集的 Active Directory 域
organizationUnitDN String 将在其中创建用户和计算机帐户的 Active 目录中组织单位的可分辨名称
ldapsUrls 字符串数组 Active Directory 的一个或多个 LDAPS 服务器的 URL
domainUserName String 具有创建群集的足够权限的域用户帐户。 它应采用 user@domain 格式
domainUserPassword String 域用户帐户的密码
clusterUsersGroupDNS 字符串数组 将在 Ambari 和 Apache Ranger 中提供的 Active Directory 组的可分辨名称

角色 (role)

元素名称 必须 类型 说明
name String 指定角色名称
targetInstanceCount Integer 指定角色的目标实例计数
hardwareProfile 复杂类型 指定有关角色的硬件配置文件的信息
osProfile 复杂类型 指定有关角色的 os 配置文件的信息

hardwareProfile

元素名称 必须 类型 说明
vmSize String 指定 VM 的大小。 请参阅此链接上的 HDInsight 配置选项 (一次,向下滚动到 节点定价层) 了解有效大小

osProfile

元素名称 必须 类型 说明
linuxOperatingSystemProfile 复杂类型 指定与 linux OS 相关的设置
virtualNetworkProfile 复杂类型 指定在用户订阅中的虚拟网络中部署群集时与虚拟网络相关的设置
scriptActions 复杂类型的数组 要对群集执行的脚本操作列表

linuxOperatingSystemProfile

元素名称 必须 类型 说明
用户名 String SSH 用户名
sshProfile 复杂类型 指定 SSH 密钥。

需要 sshProfile 或 Password 之一。
密码 String 指定 SSH 密码

需要 sshProfile 或 Password 之一。

sshProfile

元素名称 必须 类型 说明
publicKeys Array 包含 certificateData 对象的列表。 值为 ssh-rsa 公钥

virtualNetworkProfile

元素名称 必须 类型 说明
id String 虚拟网络资源 ID
子网 String 指定子网名称

scriptActions

元素名称 必须 类型 说明
name String 脚本操作的友好名称
uri String 脚本操作文件的 URL
parameters String 执行脚本操作文件时要传递的参数

响应

如果验证完成且请求被接受,则操作将返回 200 (OK) 。

状态代码: 200 正常

Linux 群集的响应正文使用 ssh 密钥创建:

{  
    "id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.HDInsight/clusters/mycluster",  
  "name":"mycluster",   
  "type":"Microsoft.HDInsight/clusters",  
  
    "location": "location-name",  
    "tags": { "tag1": "value1", "tag2": "value2" },  
    "properties": {  
        "clusterVersion": "3.2",  
        "osType": "Linux",  
		"provisioningState": "InProgress",  
		"clusterState": "Accepted",  
		"createdDate": "2015-09-23",  
		"quotaInfo": {  
			"coresUsed": 20  
}  
        "clusterDefinition": {  
            "kind": "hadoop"  
        },  
  
        "computeProfile": {  
            "roles": [  
                {  
                    "name": "headnode",  
  
                    "targetInstanceCount": 2,  
  
                    "hardwareProfile": {  
                        "vmSize": "Large"  
                    }  
  
                },  
                {  
                    "name": "workernode",  
  
                    "targetInstanceCount": 1,  
  
                    "hardwareProfile": {  
                        "vmSize": "Large"  
                    }  
                },  
                {  
                    "name": "zookeepernode",  
  
                    "targetInstanceCount": 3,  
  
                    "hardwareProfile": {  
                        "vmSize": "Small"  
                    }  
                }  
            ]  
        }  
    }  
}  
  
元素名称 类型 说明
provisioningState String 指示当前预配状态。
clusterState String 指示正在进行预配时更详细的 HDInsight 群集状态。
createdDate 日期 接收群集创建请求的日期/时间
quotaInfo 复杂类型 指定群集使用的核心数
错误 错误消息数组 如果 provisioningState = 'failed' ,则包含错误消息
connectivityEndpoints 复杂类型 指定群集的公共终结点

connectivityEndpoints

元素名称 类型 说明
name String 连接终结点的友好名称
protocol 字符串 指定要使用的协议 (示例:HTTPS、SSH)
location String 指定要连接的 URL
port int 指定要连接的端口

使用 Azure Data Lake Store 作为默认文件系统创建群集

在指定的订阅中创建一个群集,其中 Azure Data Lake Store 作为默认文件系统。 在请求正文中提供 ClusterIdentity 对象,并使用相应的 Data Lake Store URL 配置 default-filesystem 属性。

可以将 Azure Data Lake 配置为从 3.5(含 3.5)开始的群集版本的默认文件系统。

请求

有关群集使用的标头和参数,请参阅 通用 参数和标头。

方法 请求 URI
PUT https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}?api-version={api-version}}

以下示例演示使用 Azure Data Lake Store 作为群集的默认文件系统创建基于 Linux 的 Hadoop 群集的请求正文。

{
	"id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.HDInsight/clusters/mycluster",
	"name": "mycluster",
	"type": "Microsoft.HDInsight/clusters",
	"location": "location-name",
	"tags": {
		"tag1": "value1",
		"tag2": "value2"
	},
	"properties": {
		"clusterVersion": "3.5",
		"osType": "Linux",
		"tier": "Standard",
		"clusterDefinition": {
			"kind": "hadoop",
			"configurations": {
				"gateway": {
					"restAuthCredential.isEnabled": true,
					"restAuthCredential.username": "http-user",
					"restAuthCredential.password": "password"
				},
				"clusterIdentity": {
					"clusterIdentity.applicationId": "applicationId",
					"clusterIdentity.certificate": "certificate-contents-in-base64-encoding",
					"clusterIdentity.aadTenantId": "aad-tenant-id",
					"clusterIdentity.resourceUri": "https://KonaCompute.net/",
					"clusterIdentity.certificatePassword": "certificate-password"
				},
				"core-site": {
					"fs.defaultFS": "adl://home",
					"dfs.adls.home.hostname": "yourstorageaccount.azuredatalakestore.net",
					"dfs.adls.home.mountpoint": "/path/to/cluster/root"
				}
			}
		},
		"computeProfile": {
			"roles": [
				{
					"name": "headnode",
					"targetInstanceCount": 2,
					"hardwareProfile": {
						"vmSize": "Large"
					},
					"osProfile": {
						"linuxOperatingSystemProfile": {
							"username": "username",
							"sshProfile": {
								"publicKeys": [
									{
										"certificateData": "ssh-rsa key"
									}
								]
							}
						}
					}
				},
				{
					"name": "workernode",
					"targetInstanceCount": 1,
					"hardwareProfile": {
						"vmSize": "Large"
					},
					"osProfile": {
						"linuxOperatingSystemProfile": {
							"username": "username",
							"sshProfile": {
								"publicKeys": [
									{
										"certificateData": " ssh-rsa key"
									}
								]
							}
						}
					}
				},
				{
					"name": "zookeepernode",
					"targetInstanceCount": 3,
					"hardwareProfile": {
						"vmSize": "Small"
					},
					"osProfile": {
						"linuxOperatingSystemProfile": {
							"username": "username",
							"sshProfile": {
								"publicKeys": [
									{
										"certificateData": "ssh-rsa key"
									}
								]
							}
						}
					}
				}
			]
		}
	}
}  

元素名称 必须 类型 说明
id String 指定群集的资源标识符。
name String 指定群集的名称。
type String 指定群集的类型。
location String 指定应在其中创建群集的受支持 Azure 位置。 有关详细信息,请参阅 列出所有可用的地理位置
标记 String 指定将分配给群集的标记。 有关使用标记的详细信息,请参阅 使用标记来组织 Azure 资源
属性 复杂类型 指定群集的属性。

属性

元素名称 必须 类型 说明
clusterVersion String 指定群集版本
osType String 指定群集的操作系统。

有效值为 Linux
String 指定群集的层。 有效值为 标准 值和 高级值。 如果未指定层,群集将采用标准层。
clusterDefinition 复杂类型 指定有关群集类型和配置的信息
computeProfile 复杂类型 指定有关群集拓扑和关联角色属性的信息

clusterDefinition

元素名称 必须 类型 说明
kind String 指定群集类型。

有效值为 hadoop、hbase、storm & spark
配置 字典 此元素是配置类型的字典及其关联的值字典。

网关配置类型用于配置用于连接到 Web API 和 Ambari 门户的 http 用户

core-site 配置类型用于配置群集的默认存储帐户

computeProfile

元素名称 必须 类型 说明
clusterVersion String 指定群集版本
role 复杂类型 (角色) 数组 指定有关群集中角色的信息

角色 (role)

元素名称 必须 类型 说明
name String 指定角色名称
targetInstanceCount Integer 指定角色的目标实例计数
hardwareProfile 复杂类型 指定有关角色的硬件配置文件的信息
osProfile 复杂类型 指定有关角色的 os 配置文件的信息

hardwareProfile

元素名称 必须 类型 说明
vmSize String 指定 VM 的大小。 请参阅此链接上的 HDInsight 配置选项 (一次,向下滚动到 节点定价层) 了解有效大小

osProfile

元素名称 必须 类型 说明
linuxOperatingSystemProfile 复杂类型 指定与 linux OS 相关的设置
virtualNetworkProfile 复杂类型 指定在用户订阅中的虚拟网络中部署群集时与虚拟网络相关的设置
scriptActions 复杂类型的数组 要对群集执行的脚本操作列表

linuxOperatingSystemProfile

元素名称 必须 类型 说明
用户名 String SSH 用户名
sshProfile 复杂类型 指定 SSH 密钥。

需要 sshProfile 或 Password 之一。
密码 String 指定 SSH 密码

需要 sshProfile 或 Password 之一。

sshProfile

元素名称 必须 类型 说明
publicKeys Array 包含 certificateData 对象的列表。 该值是 ssh-rsa 公钥

virtualNetworkProfile

元素名称 必须 类型 说明
id String 虚拟网络资源 ID
子网 String 指定子网名称

scriptActions

元素名称 必须 类型 说明
name String 脚本操作的友好名称
uri String 脚本操作文件的 URL
parameters String 执行脚本操作文件时要传递的参数

响应

如果验证完成且请求被接受,则操作将返回 200 (OK) 。

状态代码: 200 正常

Linux 群集的响应正文使用 ssh 密钥创建:

{
	"id": "/subscriptions/{subscription ID}/resourceGroups/rg1/providers/Microsoft.HDInsightCurrent/clusters/mycluster",
	"name": "mycluster",
	"type": "Microsoft.HDInsightCurrent/clusters",
	"location": "East Asia",
	"etag": "{value}",
	"tags": null,
	"properties": {
		"clusterVersion": "3.5.1000.0",
		"osType": "Linux",
		"clusterDefinition": {
			"kind": "hadoop"
		},
		"computeProfile": {
			"roles": [
				{
					"name": "headnode",
					"targetInstanceCount": 2,
					"hardwareProfile": {
						"vmSize": "Standard_D3"
					},
					"osProfile": {
						"linuxOperatingSystemProfile": {
							"username": "myuser"
						}
					}
				},
				{
					"name": "workernode",
					"targetInstanceCount": 2,
					"hardwareProfile": {
						"vmSize": "Standard_D3"
					},
					"osProfile": {
						"linuxOperatingSystemProfile": {
							"username": "myuser"
						}
					}
				}
			]
		},
		"provisioningState": "InProgress",
		"clusterState": "Accepted",
		"createdDate": "2016-11-15T09:21:47.61",
		"quotaInfo": {
			"coresUsed": 16
		},
		"tier": "standard"
	}
}  
元素名称 类型 说明
provisioningState String 指示当前预配状态。
clusterState String 指示正在进行预配时更详细的 HDInsight 群集状态。
createdDate 日期 接收群集创建请求的日期/时间
quotaInfo 复杂类型 指定群集使用的核心数
错误 错误消息数组 如果 provisioningState = 'failed' ,则包含错误消息
connectivityEndpoints 复杂类型 指定群集的公共终结点

connectivityEndpoints

元素名称 类型 说明
name String 连接终结点的友好名称
protocol 字符串 指定要使用的协议 (示例:HTTPS、SSH)
location String 指定要连接的 URL
port int 指定要连接的端口

删除

删除 HDInsight 群集。

请求

有关群集使用的标头和参数,请参阅 通用 参数和标头。

方法 请求 URI
DELETE https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}?api-version={api-version}

响应

HTTP 202 (接受) 指示操作将以异步方式完成。 操作成功完成后,异步轮询将返回 204 (NoContent) 。

注解

若要跟踪删除群集请求的进度,请参阅 异步操作 (202 接受和 Location 标头)

Get

获取指定群集的详细信息/属性。

请求

有关群集使用的标头和参数,请参阅 通用 参数和标头。

方法 请求 URI
GET https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}?api-version={api-version}

响应

如果请求成功完成,操作将返回 200 (正常)

状态代码: 200 正常

响应正文与创建群集相同。

Linux 群集的响应正文详细信息

{  
    "id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.HDInsight/clusters/mycluster",  
  "name":"mycluster",   
  "type":"Microsoft.HDInsight/clusters",  
  
    "location": "location-name",  
    "tags": { "tag1": "value1", "tag2": "value2" },  
    "properties": {  
        "clusterVersion": "3.2",  
        "osType": "Linux",  
		"provisioningState": "InProgress",  
		"clusterState": "Accepted",  
		"createdDate": "2015-09-23",  
		"quotaInfo": {  
			"coresUsed": 20  
}  
        "clusterDefinition": {  
            "kind": "hadoop"  
        },  
  
        "computeProfile": {  
            "roles": [  
                {  
                    "name": "headnode",  
  
                    "targetInstanceCount": 2,  
  
                    "hardwareProfile": {  
                        "vmSize": "Large"  
                    },  
                    "osProfile": {  
                       "linuxOperatingSystemProfile": {  
                          "username": "sshuser"  
                       }  
                     }  
  
                },  
                {  
                    "name": "workernode",  
  
                    "targetInstanceCount": 1,  
  
                    "hardwareProfile": {  
                        "vmSize": "Large"  
                    },  
  
                    "osProfile": {  
                       "linuxOperatingSystemProfile": {  
                          "username": "sshuser"  
                       }  
                     }  
  
                },  
                {  
                    "name": "zookeepernode",  
  
                    "targetInstanceCount": 3,  
  
                    "hardwareProfile": {  
                        "vmSize": "Small"  
                    },  
  
                    "osProfile": {  
                       "linuxOperatingSystemProfile": {  
                          "username": "sshuser"  
                       }  
                     }  
                }  
            ]  
        }  
    }  
}  
  
元素名称 类型 说明
provisioningState String 指示当前预配状态。
clusterState String 指示正在进行预配时更详细的 HDInsight 群集状态。
createdDate 日期 接收群集创建请求的日期/时间
quotaInfo 复杂类型 指定群集使用的核心数
错误 错误消息数组 如果 provisioningState = 'failed' ,则包含错误消息
connectivityEndpoints 复杂类型 指定群集的公共终结点

connectivityEndpoints

元素名称 类型 说明
name String 连接终结点的友好名称
protocol 字符串 指定要使用的协议 (示例:HTTPS、SSH)
location String 指定要连接的 URL
port int 指定要连接的端口

列出配置

检索所有群集配置详细信息 (包括敏感信息) 。

请求

有关群集使用的标头和参数,请参阅 通用 参数和标头。

方法 请求 URI
POST https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/configurations?api-version={api-version}

响应

成功完成操作后,HTTP 200 (正常) 。

示例响应:

"configurations":   
{  
     "gateway": {  
          "restAuthCredential.isEnabled": true,  
          "restAuthCredential.username": "username",  
          "restAuthCredential.password": "Password123!"     
      },  
  
      "core-site": {  
           "fs.defaultFS": "wasbs://mycontainter@mystorageaccount.blob.core.windows.net",
	   "fs.azure.account.key.mystorageaccount.blob.core.windows.net": "storagekey1value"  
      }  
}  
  
元素名称 类型 说明
配置 字典 此元素是配置类型的字典及其关联的值字典。
网关配置类型用于配置用于连接到 Web API 和 Ambari 门户的 http 用户
core-site 配置类型用于配置群集的默认存储帐户

获取配置

获取有关单个配置类型的详细信息, (省略) 敏感值。

请求

有关群集使用的标头和参数,请参阅 通用 参数和标头。

方法 请求 URI
GET https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/configurations/{configuration Type}?api-version={api-version}

响应

成功完成操作后,HTTP 200 (正常) 。

示例响应:

{
     "core-site": {  
          "fs.defaultFS": "wasbs://mycontainter@mystorageaccount.blob.core.windows.net",
	  "fs.azure.account.key.mystorageaccount.blob.core.windows.net": ""
     }
}
  

获取网关设置

此操作检索群集网关 HTTP 凭据。

请求

有关群集使用的标头和参数,请参阅 通用 参数和标头。

方法 请求 URI
POST https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/getGatewaySettings?api-version={api-version}

响应

成功完成操作后,HTTP 200 (正常) 。

示例响应:

{  
     "restAuthCredential.isEnabled": true,  
     "restAuthCredential.username": "username",  
     "restAuthCredential.password": "Password123!"  
}  

更新网关设置

此操作允许用户更改群集网关 HTTP 凭据。

请求

有关群集使用的标头和参数,请参阅 常见参数 和标头。

方法 请求 URI
POST https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/updateGatewaySettings?api-version={api-version}
{  
     "restAuthCredential.isEnabled": true,  
     "restAuthCredential.username": "username",  
     "restAuthCredential.password": "Password123!"  
}  

响应

HTTP 202 (成功完成操作后接受) 。

(已弃用) 更改连接设置

此操作允许用户启用/禁用与群集的 HTTPS 连接。

请改用 updateGatewaySettings

请求

有关群集使用的标头和参数,请参阅 常见参数 和标头。

方法 请求 URI
POST https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/configurations/{configuration Type}?api-version={api-version}

启用连接

{  	
   "restAuthCredential.isEnabled": true,  	
   "restAuthCredential.username": "user",  	
   "restAuthCredential.password": "password here"  
}

按资源组列出

Lists指定资源组中用户订阅中的所有群集。

请求

有关群集使用的标头和参数,请参阅 常见参数 和标头。

方法 请求 URI
GET https://management.azure.com/subscriptions/{subscription Id}/resourcegroups/{resourceGroup Id}/providers/Microsoft.HDInsight/clusters?api-version={api-version}

响应

如果请求成功完成,该操作将返回 200 (正常) 。

状态代码:200 正常

响应正文是群集详细信息的数组。 有关详细信息,请参阅 获取群集属性

{  
  "value": [  
		{ Cluster details }  
    ]  
}  
  

按订阅列出

Lists用户订阅中的所有群集。

请求

有关群集使用的标头和参数,请参阅 常见参数 和标头。

方法 请求 URI
GET https://management.azure.com/subscriptions/{subscription Id}/providers/Microsoft.HDInsight/clusters?api-version={api-version}

响应

如果请求成功完成,该操作将返回 200 (正常) 。

状态代码: 200 正常

响应正文是群集详细信息的数组。

{  
  "value": [  
		{ Cluster details }  
    ]  
}  

禁用连接

{  
   "restAuthCredential.isEnabled": false  
}  
  
元素名称 必须 类型 说明
restAuthCredential.isEnabled 布尔 指定应启用或禁用连接
restAuthCredential.username String 如果 isEnabled=true,则为必需
指定连接设置的用户名
restAuthCredential.password String 如果 isEnabled=true,则为必需
指定连接设置的密码

响应

HTTP 202 (接受) ,以指示操作将以异步方式完成。 操作成功完成后,异步轮询将返回 204 (NoContent) 。

注解

若要跟踪删除群集请求的进度,请参阅 异步操作 (202 接受和位置标头)

仅) (Windows 群集更改 RDP 设置

此操作允许用户启用/禁用 RDP。 它适用于基于 Windows 的群集。

请求

有关群集使用的标头和参数,请参阅 常见参数 和标头。

方法 请求 URI
POST https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/changerdpsetting?api-version={api-version}

请求正文

启用 RDP

{  
	"osProfile": {  
        "windowsOperatingSystemProfile": {  
        	"rdpSettings": {  
        	      "username": "username",  
            	      "password": "password here",  
            	      "expiryDate": "YYYY-MM-DD"  
        	}  
        }  
    }  
}  

禁用 RDP

{  
	"osProfile": {  
        "windowsOperatingSystemProfile": {  
        	"rdpSettings": null  
        }  
    }  
}  

osProfile

元素名称 必须 类型 说明
windowsOperatingSystemProfile 复杂类型 指定与 Windows OS 相关的设置

windowsOperatingSystemProfile

元素名称 必须 类型 说明
rdpSettings 复杂类型 指定 Windows 群集的 RDP 设置

rdpSettings

元素名称 必须 类型 说明
username String 指定 RDP 用户名
password String 指定 RDP 用户的密码
expiryDate Date RDP 凭据的到期日期

响应

如果请求成功完成,操作将返回 200 (正常)

状态代码: 200 正常

响应正文与 创建群集相同。

仅在运行中的群集 (Linux 群集上运行脚本操作)

在正在运行的群集上执行脚本操作。

请求

有关群集使用的标头和参数,请参阅 通用 参数和标头。

方法 请求 URI
POST https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/executeScriptActions?api-version={api-version}

请求正文

{  
  "scriptActions": [  
    {  
      "name": "script-name",  
      "uri": "script-uri",  
      "parameters": "script-parameters",  
      "roles": [  
        "headnode",  
        "workernode"  
      ]  
    },  
    ...  
  ],  
  "persistOnSuccess": true  
}  
  

scriptActions

元素名称 必须 类型 说明
name String 指定脚本操作的名称
uri String 指定脚本操作的 URI
parameters String 指定脚本操作所需的参数
角色 字符串数组 指定脚本操作执行的目标角色
persistOnSuccess 布尔 指定是否在成功执行后保留脚本操作

响应

如果验证已完成且请求已接受,则操作将返回 202 (接受) 。

状态代码: 202 (接受)

列出群集 (Linux 群集的所有持久化脚本操作)

此操作返回指定群集的所有持久化脚本操作。

请求

有关群集使用的标头和参数,请参阅 通用 参数和标头。

方法 请求 URI
GET https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/scriptActions?api-version={api-version}

响应

成功完成操作后,HTTP 200 (正常) 。

状态代码: 200 正常

示例响应:

{  
"value":  
[  
  {  
    "name":"script-name",  
    "uri":"script-uri",  
    "parameters":"script-parameters",  
    "roles":["headnode","workernode"],  
    "applicationName":null  
  },  
  ...  
]  
}  
元素名称 类型 说明
name String 指定脚本操作的名称。
uri 字符串 指定脚本操作的 URI。
parameters String 指定脚本操作所需的参数
角色 字符串数组 指定执行脚本操作的目标角色。
applicationName 字符串 指定与脚本关联的相应应用程序。 如果脚本由用户提供,则 applicationName 为 null

删除群集 (Linux 群集的持久化脚本操作)

此操作将删除群集的 HDInsight 持久化脚本操作。

请求

有关群集使用的标头和参数,请参阅 通用 参数和标头。

方法 请求 URI
DELETE https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/scriptActions/{script Name}?api-version={api-version}

响应

  • HTTP 200 (正常) 指示脚本操作已从持久化脚本操作列表中删除。

  • HTTP 404 (NotFound) 指示不存在具有相应 scriptName 的现有持久化脚本操作。

仅从 Linux 群集 (历史记录获取脚本操作执行)

此操作返回指定群集的最新脚本操作执行或单个脚本执行的执行详细信息。

请求

有关群集使用的标头和参数,请参阅 通用 参数和标头。

方法 请求 URI
GET https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/scriptExecutionHistory/{script Execution Id}?api-version={api-version}

响应

如果请求成功完成,操作将返回 200 (正常) 。 响应正文是脚本执行详细信息的数组,如果提供了 scriptExecutionId,则为单个脚本执行详细信息。 下面是脚本执行详细信息的示例。

状态代码: 200 (正常)

示例响应:

{  
  "scriptExecutionId":script-execution-id,  
  "name":"script-name",  
  "applicationName":null,  
  "uri":"script-uri",  
  "parameters":"script-parameters",  
  "roles":["headnode","workernode"],  
  "startTime":"2016-02-26T23:49:13.0773637Z",  
  "endTime":"2016-02-26T23:49:33.4964725Z",  
  "status":"Succeeded",  
  "operation":"PostClusterCreateScriptActionRequest",  
  "executionSummary":  
	[{"status":"COMPLETED",  
	 "instanceCount":4}],  
  "debugInformation": "debug-information"  
}  
  
元素名称 类型 说明
scriptExecutionId Long 指定脚本操作的执行 ID。
name String 指定脚本操作的名称。
applicationName 字符串 指定与脚本关联的相应应用程序。 如果脚本由用户提供,则 applicationName 为 null
uri 字符串 指定脚本操作的 URI。
parameters String 指定脚本操作所需的参数
角色 字符串数组 指定执行脚本操作的目标角色。
startTime DateTime 指定脚本操作执行的开始时间
endTime DateTime 指定脚本操作执行的结束时间
状态 字符串 指定脚本操作执行的状态
operation String 指定执行脚本操作的原因。 例如,ScaleUp 表示脚本操作是在群集纵向扩展期间执行的。
executionSummary 复杂类型的数组 根据成功主机数和未能执行脚本的主机数指定执行摘要。
debugInformation String 指定脚本的详细调试信息。 仅当请求中提供了 scriptExecutionId 时,才会返回 debugInformation。

executionSummary

元素名称 类型 说明
状态 字符串 指定单个主机上的执行状态。
instanceCount int 指定具有相应状态的执行数。

将脚本操作执行历史记录中的脚本提升为仅在 Linux 群集 (持久保存)

此操作将保留脚本执行历史记录中的 HDInsight 脚本。

请求

有关群集使用的标头和参数,请参阅 通用 参数和标头。

方法 请求 URI
POST https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/scriptExecutionHistory/{script Execution Id}/promote?api-version={api-version}

响应

  • HTTP 200 (正常) 指示脚本操作已升级。

  • HTTP 404 (NotFound) 指示没有使用相应 scriptExecutionId 执行现有的脚本操作。

Resize

调整现有 HDInsight 群集的大小。

请求

有关群集使用的标头和参数,请参阅 通用 参数和标头。

方法 请求 URI
POST https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/roles/{role name}/resize?api-version={api-version}

下面显示了更新群集标记的示例请求

{  
    "targetInstanceCount": 10  
}  
元素名称 必须 类型 说明
targetInstanceCount int 指定角色的新实例计数

响应

HTTP 202 (接受) 指示操作将以异步方式完成。 操作成功完成后,异步轮询将返回 204 (NoContent) 。

注解

若要跟踪删除群集请求的进度,请参阅 异步操作 (202 接受和 Location 标头)

更新

汇报群集的标记。

所有其他更新都是单独描述的单独操作。

请求

有关群集使用的标头和参数,请参阅 通用 参数和标头。

方法 请求 URI
修补程序 https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}?api-version={api-version}

下面显示了更新群集标记的示例请求

{   
    "tags": {"department": "finance"}  
}  
  
元素名称 必须 类型 说明
标记 String 指定将分配给群集的标记。 有关使用标记的详细信息,请参阅 使用标记来组织 Azure 资源

响应

如果请求成功完成,操作将返回 200 (正常) 。

状态代码: 200 正常

响应正文与 创建群集相同。