Created
November 6, 2019 15:51
-
-
Save andrew-kelleher/08e11f6dbfc7a65165fd72f17b625035 to your computer and use it in GitHub Desktop.
Example Azure HDInsight ARM template
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", | |
"contentVersion": "1.0.0.0", | |
"parameters": { | |
"clusterName": { | |
"type": "string", | |
"metadata": { | |
"description": "The name of the HDInsight cluster to create." | |
} | |
}, | |
"clusterLoginUserName": { | |
"type": "string", | |
"defaultValue": "admin", | |
"metadata": { | |
"description": "These credentials can be used to submit jobs to the cluster and to log into cluster dashboards." | |
} | |
}, | |
"clusterLoginPassword": { | |
"type": "securestring", | |
"metadata": { | |
"description": "The password must be at least 10 characters in length and must contain at least one digit, one non-alphanumeric character, and one upper or lower case letter." | |
} | |
}, | |
"sshUserName": { | |
"type": "string", | |
"defaultValue": "sshuser", | |
"metadata": { | |
"description": "These credentials can be used to remotely access the cluster." | |
} | |
}, | |
"sshPassword": { | |
"type": "securestring", | |
"metadata": { | |
"description": "The password must be at least 10 characters in length and must contain at least one digit, one non-alphanumeric character, and one upper or lower case letter." | |
} | |
}, | |
"location": { | |
"type": "string", | |
"defaultValue": "[resourceGroup().location]", | |
"metadata": { | |
"description": "Location for all resources." | |
} | |
} | |
}, | |
"variables": { | |
"defaultStorageAccount": { | |
"name": "aktesthdstgaccount", | |
"type": "Standard_LRS" | |
} | |
}, | |
"resources": [ | |
{ | |
"type": "Microsoft.Storage/storageAccounts", | |
"name": "[variables('defaultStorageAccount').name]", | |
"location": "[parameters('location')]", | |
"apiVersion": "2016-01-01", | |
"sku": { | |
"name": "[variables('defaultStorageAccount').type]" | |
}, | |
"kind": "Storage", | |
"properties": {} | |
}, | |
{ | |
"type": "Microsoft.HDInsight/clusters", | |
"name": "[parameters('clusterName')]", | |
"location": "[parameters('location')]", | |
"apiVersion": "2018-06-01-preview", | |
"dependsOn": [ | |
"[concat('Microsoft.Storage/storageAccounts/',variables('defaultStorageAccount').name)]" | |
], | |
"tags": {}, | |
"properties": { | |
"clusterVersion": "3.6", | |
"osType": "Linux", | |
"tier": "Standard", | |
"clusterDefinition": { | |
"kind": "spark", | |
"configurations": { | |
"gateway": { | |
"restAuthCredential.isEnabled": true, | |
"restAuthCredential.username": "[parameters('clusterLoginUserName')]", | |
"restAuthCredential.password": "[parameters('clusterLoginPassword')]" | |
} | |
} | |
}, | |
"storageProfile": { | |
"storageaccounts": [ | |
{ | |
"name": "[replace(replace(reference(resourceId('Microsoft.Storage/storageAccounts', variables('defaultStorageAccount').name), '2016-01-01').primaryEndpoints.blob,'https://',''),'/','')]", | |
"isDefault": true, | |
"container": "[parameters('clusterName')]", | |
"key": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('defaultStorageAccount').name), '2016-01-01').keys[0].value]" | |
} | |
] | |
}, | |
"computeProfile": { | |
"roles": [ | |
{ | |
"name": "headnode", | |
"targetInstanceCount": 2, | |
"hardwareProfile": { | |
"vmSize": "Standard_D12_v2" | |
}, | |
"osProfile": { | |
"linuxOperatingSystemProfile": { | |
"username": "[parameters('sshUserName')]", | |
"password": "[parameters('sshPassword')]" | |
} | |
}, | |
"virtualNetworkProfile": null, | |
"scriptActions": [] | |
}, | |
{ | |
"name": "workernode", | |
"targetInstanceCount": 2, | |
"hardwareProfile": { | |
"vmSize": "Standard_D13_v2" | |
}, | |
"osProfile": { | |
"linuxOperatingSystemProfile": { | |
"username": "[parameters('sshUserName')]", | |
"password": "[parameters('sshPassword')]" | |
} | |
}, | |
"virtualNetworkProfile": null, | |
"scriptActions": [] | |
} | |
] | |
} | |
} | |
} | |
], | |
"outputs": { | |
"storage": { | |
"type": "object", | |
"value": "[reference(resourceId('Microsoft.Storage/storageAccounts', variables('defaultStorageAccount').name))]" | |
}, | |
"cluster": { | |
"type": "object", | |
"value": "[reference(resourceId('Microsoft.HDInsight/clusters',parameters('clusterName')))]" | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment