Skip to content

Commit

Permalink
new template
Browse files Browse the repository at this point in the history
  • Loading branch information
mumian committed Feb 8, 2017
1 parent f2b0404 commit c7f2a7f
Show file tree
Hide file tree
Showing 4 changed files with 263 additions and 0 deletions.
10 changes: 10 additions & 0 deletions 101-hdinsight-secure-vnet/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Deploy an Azure VNet and an HDInsight Linux-based HBase cluster within the VNet

<a href="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2F101-hdinsight-secure-vnet%2Fazuredeploy.json" target="_blank">
<img src="http://azuredeploy.net/deploybutton.png"/>
</a>
<a href="http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2F101-hdinsight-secure-vnet%2Fazuredeploy.json" target="_blank">
<img src="http://armviz.io/visualizebutton.png"/>
</a>

This template allows you to create an secure Azure VNet and a HDInsight cluster within the VNet. Azure Virtual Network allows you to extend your Hadoop solutions to incorporate on-premises resources such as SQL Server, combine multiple HDInsight cluster types, or to create secure private networks between resources in the cloud. The template creates a network security group (including the inbound security rules), a virtual network, an HDInsight Hadoop cluster and the default storage account. Please note the rules are "all other regions" listed in Extend HDInsight capabilities by using Azure Virtual Network( https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-extend-hadoop-virtual-network). You can either use a region other than Brazil South, Canada East, Canada Central, West Central US, and West US 2, or modify the IP addresses defined in the rules.
225 changes: 225 additions & 0 deletions 101-hdinsight-secure-vnet/azuredeploy.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
{
"$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."
}
}
},
"variables":{
"vNet":{
"name":"[concat(parameters('clusterName'),'-vnet')]",
"addressSpacePrefix":"10.0.0.0/16",
"subnetName":"subnet1",
"subnetPrefix":"10.0.0.0/24"
},
"networkSecurityGroup":{
"name":"[concat(parameters('clusterName'),'-nsg')]"
},
"defaultStorageAccount":{
"name":"[uniqueString(resourceGroup().id)]",
"type":"Standard_LRS"
}
},
"resources":[
{
"type":"Microsoft.Network/networkSecurityGroups",
"name":"[variables('networkSecurityGroup').name]",
"location":"[resourceGroup().location]",
"apiVersion":"2016-03-30",
"properties":{
"securityRules":[
{
"name":"hdirule1",
"properties":{
"description":null,
"protocol":"*",
"sourcePortRange":"*",
"destinationPortRange":"433",
"sourceAddressPrefix":"168.61.49.99/24",
"destinationAddressPrefix":"VirtualNetwork",
"access":"Allow",
"priority":300,
"direction":"Inbound"
}
},
{
"name":"hdirule2",
"properties":{
"description":null,
"protocol":"*",
"sourcePortRange":"*",
"destinationPortRange":"433",
"sourceAddressPrefix":"23.99.5.239/24",
"destinationAddressPrefix":"VirtualNetwork",
"access":"Allow",
"priority":301,
"direction":"Inbound"
}
},
{
"name":"hdirule3",
"properties":{
"description":null,
"protocol":"*",
"sourcePortRange":"*",
"destinationPortRange":"433",
"sourceAddressPrefix":"168.61.48.131/24",
"destinationAddressPrefix":"VirtualNetwork",
"access":"Allow",
"priority":302,
"direction":"Inbound"
}
},
{
"name":"hdirule4",
"properties":{
"description":null,
"protocol":"*",
"sourcePortRange":"*",
"destinationPortRange":"433",
"sourceAddressPrefix":"138.91.141.162/24",
"destinationAddressPrefix":"VirtualNetwork",
"access":"Allow",
"priority":303,
"direction":"Inbound"
}
}
]
}
},
{
"type":"Microsoft.Network/virtualNetworks",
"name":"[variables('vNet').name]",
"location":"[resourceGroup().location]",
"apiVersion":"2016-03-30",
"dependsOn":[
"[concat('Microsoft.Network/networkSecurityGroups/', variables('networkSecurityGroup').name)]"
],
"properties":{
"addressSpace":{
"addressPrefixes":[
"[variables('vnet').addressSpacePrefix]"
]
},
"subnets":[
{
"name":"[variables('vnet').subnetName]",
"properties":{
"addressPrefix":"[variables('vnet').subnetPrefix]",
"networkSecurityGroup":{
"id":"[resourceId('Microsoft.Network/networkSecurityGroups', variables('networkSecurityGroup').name)]"
}
}
}
]
}
},
{
"type":"Microsoft.Storage/storageAccounts",
"name":"[variables('defaultStorageAccount').name]",
"location":"[resourceGroup().location]",
"apiVersion":"2016-01-01",
"sku":{
"name":"[variables('defaultStorageAccount').type]"
},
"kind":"Storage",
"properties":{

}
},
{
"type":"Microsoft.HDInsight/clusters",
"name":"[parameters('clusterName')]",
"location":"[resourceGroup().location]",
"apiVersion":"2015-03-01-preview",
"dependsOn":[
"[concat('Microsoft.Storage/storageAccounts/',variables('defaultStorageAccount').name)]",
"[concat('Microsoft.Network/virtualNetworks/',variables('vNet').name)]"
],
"properties":{
"clusterVersion":"3.5",
"osType":"Linux",
"clusterDefinition":{
"kind":"hadoop",
"configurations":{
"gateway":{
"restAuthCredential.isEnabled":true,
"restAuthCredential.username":"[parameters('clusterLoginUserName')]",
"restAuthCredential.password":"[parameters('clusterLoginPassword')]"
}
}
},
"storageProfile":{
"storageaccounts":[
{
"name":"[replace(replace(concat(reference(concat('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_D3"
},
"osProfile":{
"linuxOperatingSystemProfile":{
"username":"[parameters('sshUserName')]",
"password":"[parameters('sshPassword')]"
}
}
},
{
"name":"workernode",
"targetInstanceCount":2,
"hardwareProfile":{
"vmSize":"Standard_D3"
},
"osProfile":{
"linuxOperatingSystemProfile":{
"username":"[parameters('sshUserName')]",
"password":"[parameters('sshPassword')]"
}
}
}
]
}
}
}
]
}
21 changes: 21 additions & 0 deletions 101-hdinsight-secure-vnet/azuredeploy.parameters.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"value": "GEN-UNIQUE-8"
},
"clusterLoginUserName": {
"value": "GEN-UNIQUE"
},
"clusterLoginPassword": {
"value": "GEN-PASSWORD"
},
"sshUserName": {
"value": "GEN-UNIQUE"
},
"sshPassword": {
"value": "GEN-PASSWORD"
}
}
}
7 changes: 7 additions & 0 deletions 101-hdinsight-secure-vnet/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"itemDisplayName": "Deploy a secure VNet and a HDInsight cluster within the VNet",
"description": "This template allows you to create an Azure VNet and an HDInsight Hadoop cluster running Linux within the VNet.",
"summary": "Deploy an Azure VNet and an HDInsight Linux-based HBase cluster within the VNet",
"githubUsername": "mumian",
"dateUpdated": "2017-02-08"
}

0 comments on commit c7f2a7f

Please sign in to comment.