Application
Create
Creates a new node on the cluster (referred to as an edge node) and installs an application on that node.
Request
See Common parameters and headers for headers and parameters that are used by clusters.
Method | Request URI |
---|---|
PUT | https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/applications/{application Name}?api-version={api-version} |
The following example shows the request body for installing applications on a Linux-based HDInsight cluster.
{
"name": "clusterName / applicationName"
"type": "Microsoft.HDInsight/clusters/applications",
"properties": {
"computeProfile": {
"roles": [
{
"name": "edgenode",
"targetInstanceCount": 1,
"hardwareProfile": {
"vmSize": "Standard_D3"
}
}
]
},
"installScriptActions": [
{
"name": "hue-install",
"uri": "https://publicEndpoint-bash-file.sh",
"parameters": "",
"roles": ["edgenode"]
}
],
"uninstallScriptActions": [
{
"name": "hue-uninstall",
"uri": "https://publicEndpoint-bash-file.sh",
"parameters": "",
"roles": ["edgenode"]
}
],
"httpsEndpoints": [
{
"subDomainSuffix": "abc",
"destinationPort": 8888,
"accessModes": ["WebPage"]
},
{
"subDomainSuffix": "was",
"destinationPort": 50073,
"accessModes": ["WebPage"]
}
],
"applicationType": "CustomApplication"
}
}
Element name | Required | Type | Description |
---|---|---|---|
name | Yes | String | Specifies the name of the application. The name must be specified as clusterName/applicationName. Application name must be unique per cluster. |
type | Yes | String | Specifies the type of the resource. |
Properties | Yes | Complex Type | Specifies the properties of the cluster. |
Properties
Element name | Required | Type | Description |
---|---|---|---|
computeProfile | Yes | Complex Type | Describes the VM the application will run on |
InstallScriptActions | Yes | Complex Type | Describes the install script actions for the application. At least one script must be specified and the scripts must be idempotent, which means the scripts can be called repeatedly while producing the same result. |
UninstallScriptActions | No | Complex Type | Describes the uninstall script actions for the application. This parameter is optional, but any uninstall script actions specified must be idempotent (which means the scripts can be called repeatedly while producing the same result). |
HttpEndpoint | No | Complex Type | Describes which endpoints on the application should be Internet addressable. |
applicationType | Yes | String | This element is always value "CustomApplication" |
computeProfile
This element should contain exactly one role
Element name | Required | Type | Description |
---|---|---|---|
role | Yes | Complex Type | Specifies information about roles in the cluster |
role
Element name | Required | Type | Description |
---|---|---|---|
name | Yes | String | The name must be specified as "edgenode" |
targetInstanceCount | Yes | Integer | This element must be set to 1 |
hardwareProfile | Yes | Complex Type | Specifies information about the hardware profile for the edgenode |
hardwareProfile
Element name | Required | Type | Description |
---|---|---|---|
vmSize | Yes | String | Specifies the size of the VM. Refer to HDInsight configuration options (once on this link, scroll down to Node pricing tiers) for valid sizes |
InstallScriptActions
Element name | Required | Type | Description |
---|---|---|---|
Name | Yes | String | Specifies the name of the script action. Must be unique across all persisted script actions on cluster |
Uri | Yes | String | Publicly accessible location of the script. All scripts specified must be idempotent, which means the scripts can be called repeatedly while producing the same result. |
Parameters | No | String | Optional set of parameters to pass to the script |
Roles | Yes | Array of Strings | Describes the role for the script to run on. Valid values are: headnode, workernode, zookeepernode, and edgenode. edgenode is the role hosting the application and where your application will run. |
UninstallScriptActions
Element name | Required | Type | Description |
---|---|---|---|
Name | Yes | String | Specifies the name of the script action. |
Uri | Yes | String | Publicly accessible location of the script. Any scripts specified must be idempotent, which means the scripts can be called repeatedly while producing the same result. |
Parameters | No | String | Optional set of parameters to pass to the script |
Roles | Yes | Array of Strings | Describes the role for the script to run on. Valid values are: headnode, workernode, zookeepernode, and edgenode. edgenode is the role hosting the application and where your application will run. |
HttpEndpoint
Element name | Required | Type | Description |
---|---|---|---|
subDomainSuffix | Yes | String | A three-character alphanumeric string used to build the DNS name used to access the application. The DNS name will be of the format: *.apps.azurehdinsight.net. This name must be unique per cluster. |
destinationPort | Yes | Integer | The port to forward HTTP traffic to on the edgenode hosting your application. |
accessModes | No | Array of Strings | Metadata about the endpoint. If the endpoint hosts a Web page, specify webpage as an access mode. Otherwise, the array should be empty or not present in the payload. This element enables the Azure portal to display direct links to your application. |
Response
If validation is complete and the request is accepted, the operation will return 200 (OK).
Status code: 200 OK
Get
Gets details about an HDInsight application.
Request
See Common parameters and headers for headers and parameters that are used by clusters.
Method | Request URI |
---|---|
GET | https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/applications/{application Name}?api-version={api-version} |
Response
Response body is an array of HDInsight application details or a single HDInsight application detail if applicationName is provided. Below is an example of application detail.
Response code: HTTP 200 (OK) on successful completion of the operation.
Example response:
{
"value": [
{
"id": "resourceId",
"name": "clusterName / applicationName",
"type": "Microsoft.HDInsight/clusters/applications",
"etag": "etagValue",
"tags": null,
"properties": {
"computeProfile": {
"roles": [
{
"name": "edgenode",
"targetInstanceCount": 1,
"hardwareProfile": {
"vmSize": "Standard_D3"
}
}
]
},
"installScriptActions": [
{
"name": "hue-install",
"uri": "https://publicEndpoint-bash-file.sh",
"parameters": "",
"roles": ["edgenode"]
}
],
"uninstallScriptActions": [
{
"name": "hue-uninstall",
"uri": "https://publicEndpoint-bash-file.sh",
"parameters": "",
"roles": ["edgenode"]
}
],
"httpsEndpoints": [
{
"subDomainSuffix": "abc",
"destinationPort": 8888,
"accessModes": ["WebPage"]
},
{
"subDomainSuffix": "was",
"destinationPort": 50073,
"accessModes": ["WebPage"]
}
],
"provisioningState": "Succeeded",
"applicationState": "Running",
"createdDate": "CreatedDate",
"applicationType": "CustomApplication",
"marketplaceIdentifier": "HueV1"
}
]
}
Remove
Removes an HDInsight application from the cluster.
Request
See Common parameters and headers for headers and parameters that are used by clusters.
Method | Request URI |
---|---|
DELETE | https://management.azure.com/subscriptions/{subscription Id}/resourceGroups/{resourceGroup Name}/providers/Microsoft.HDInsight/clusters/{cluster name}/applications/{application Name}?api-version={api-version} |
Response
The operation will return 202 (Accepted) if the request is completed successfully
Status code: 202 Accepted.