Skip to content

Datatamer/terraform-azure-hdinsight-hbase

Repository files navigation

Tamr Azure HDInsight HBase Module

This module creates an HDInsight HBase cluster for Tamr in Azure.

Examples

Refer the /examples directory for a complete working example.

Resources Created

This modules creates:

  • HDInsight HBase cluster
  • n security group rules

Requirements

Name Version
terraform >= 0.12
azurerm >= 2.60.0

Providers

No provider.

Inputs

Name Description Type Default Required
cluster_name Name of HDInsight HBase cluster string n/a yes
destination_address CIDR or destination IP range or * to match any IP.
Tags such as ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used."
string n/a yes
gateway_password Gateway password string n/a yes
gen2_fs_id ID of the ADLS Gen2 container backing HBase string n/a yes
hbase_service_principal_id ID of the service principal HBases uses to access the backing storage account string n/a yes
ip_rules Array of IPs explicitly allowed to access UI list(string) n/a yes
location Azure region where the HDInsight HBase cluster is to be deployed string n/a yes
nsg_name Name of an existing network security group to add rules to string n/a yes
nsg_resource_group Name of the resource group of the network security group string n/a yes
ssh_public_key SSH public key data string n/a yes
private_traffic_address_prefixes List of source address prefixes for private traffic. Tags may not be used. list(string) n/a yes
public_traffic_address_prefixes List of source address prefixes for public traffic. Tags may not be used. list(string) n/a yes
resource_group_name Name of resource group string n/a yes
storage_account_id ID of the storage account backing HBase string n/a yes
subnet_id ID of the subnet in which to deploy HDInsight HBase resources string n/a yes
vnet_id ID of the virtual network in which to deploy HBase resources string n/a yes
worker_count Desired number of worker nodes number n/a yes
cluster_tier The cluster tier. Options are Standard or Premium string "Standard" no
enable_advanced_threat_protection Enable advanced threat protection bool false no
enable_https_traffic_only Force https traffic only boolean flag bool true no
gateway_username Gateway username string "admin" no
hbase_version Version of hbase string "1.1" no
hdinsight_cluster_version Version for HDInsight cluster string "3.6" no
head_node_vm_size Head node vm size string "Standard_D12_V2" no
network_rules_default_action Default action for the network rules. Options are Allow or Deny string "Deny" no
private_traffic_ports Destination ports to create network rules for. See non-public ports:
https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-hadoop-port-settings-for-services#non-public-ports
list(number)
[
8080,
16000,
16010,
16020,
2181
]
no
private_traffic_priority_offset Starting priority of private security group rules. number 1000 no
public_traffic_ports Destination ports to create network rules for. See public ports:
https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-hadoop-port-settings-for-services#public-ports
list(number)
[
22,
23,
443
]
no
public_traffic_priority_offset Starting priority of public security group rules. number 2000 no
scaling_days The days of the week to perform scaling operation. Full names expected (Monday, Tuesday, etc.) list(string) [] no
scaling_schedule Scheduled scaling operations. Expects a map of time at which to scale mapped to workers to scale to. 24 hour hh:mm format expected.
Example: {"15:00" : 5, "16:00" : 6}
map(string) {} no
scaling_timezone Timezone in which scaling times are defined. Time Zone ID expected. List of supported Azure Time Zone IDs found here:
https://docs.microsoft.com/en-us/azure/azure-sql/managed-instance/timezones-overview#list-of-supported-time-zones
string "" no
storage_account_access_tier Access tier of the storage account. Options are Hot and Cool string "Hot" no
storage_account_kind Account kind string "StorageV2" no
storage_account_replication_type Account replication type string "ZRS" no
storage_account_tier Account tier string "Standard" no
storage_container_access_type Access type of the storage container. Options blob, container or private string "private" no
tags Map of tags to attach to HBase cluster and storage account map(string) {} no
username Username for ssh access to the instances of the cluster string "sshuser" no
worker_node_vm_size Worker nodes vm size string "Standard_D12_V2" no
zk_node_vm_size Zookeeper nodes vm size string "Standard_A4_v2" no

Outputs

Name Description
hbase_cluster_id The ID of the HDInsight HBase cluster
hdinsight_cluster All of the outputs of the HDInsight HBase cluster
private_security_group_rules Security group for services traffic
public_security_group_rules Security group for user traffic

References

This repo is based on:

Development

Releasing new versions

  • Update version contained in VERSION
  • Document changes in CHANGELOG.md
  • Create a tag in github for the commit associated with the version

License

Apache 2 Licensed. See LICENSE for full details.