Cluster template structure
The template below is an example of a 7.2.2 Data Engineering HA cluster template in JSON view.
Many of the default templates contain properties for services that aren't displayed when you select a default template in the user interface, for example Hive on Tez or Sqoop in the default Data Engineering HA template below. If you are creating a custom template and you need to know more about the properties and services in a template, refer to the Cloudera Manager configuration properties for each Runtime service. These properties can be helpful if you are trying to tune Yarn or Hive, for example. You can also copy a service like Sqoop from the JSON of one template to another.
{
"cdhVersion": "7.2.2",
"displayName": "dataengineering ha",
"services": [
{
"refName": "zookeeper",
"serviceType": "ZOOKEEPER",
"roleConfigGroups": [
{
"refName": "zookeeper-SERVER-BASE",
"roleType": "SERVER",
"base": true
}
]
},
{
"refName": "hdfs",
"serviceType": "HDFS",
"serviceConfigs": [
{
"name": "zookeeper_service",
"ref": "zookeeper"
},
{
"name": "hdfs_verify_ec_with_topology_enabled",
"value": false
}
],
"roleConfigGroups": [
{
"refName": "hdfs-NAMENODE-BASE",
"roleType": "NAMENODE",
"base": true,
"configs": [
{
"name": "fs_trash_interval",
"value": "0"
},
{
"name": "fs_trash_checkpoint_interval",
"value": "0"
},
{
"name": "erasure_coding_default_policy",
"value": " "
}
]
},
{
"refName": "hdfs-FAILOVERCONTROLLER-BASE",
"roleType": "FAILOVERCONTROLLER",
"base": true
},
{
"refName": "hdfs-JOURNALNODE-BASE",
"roleType": "JOURNALNODE",
"base": true
},
{
"refName": "hdfs-DATANODE-BASE",
"roleType": "DATANODE",
"base": true
},
{
"refName": "hdfs-SECONDARYNAMENODE-BASE",
"roleType": "SECONDARYNAMENODE",
"configs": [
{
"name": "fs_checkpoint_dir_list",
"value": "/should_not_be_required_in_HA_setup"
}
],
"base": true
},
{
"refName": "hdfs-BALANCER-BASE",
"roleType": "BALANCER",
"base": true
},
{
"refName": "hdfs-GATEWAY-BASE",
"roleType": "GATEWAY",
"base": true,
"configs": [
{
"name": "dfs_client_use_trash",
"value": false
},
{
"name": "hdfs_client_env_safety_valve",
"value": "HADOOP_OPTS=\"-Dorg.wildfly.openssl.path=/usr/lib64 ${HADOOP_OPTS}\""
}
]
}
]
},
{
"refName": "hms",
"serviceType": "HIVE",
"displayName": "Hive Metastore",
"roleConfigGroups": [
{
"refName": "hms-GATEWAY-BASE",
"roleType": "GATEWAY",
"base": true
},
{
"refName": "hms-HIVEMETASTORE-BASE",
"roleType": "HIVEMETASTORE",
"base": true
}
]
},
{
"refName": "hive",
"serviceType": "HIVE_ON_TEZ",
"displayName": "Hive",
"serviceConfigs": [
{
"name": "tez_container_size",
"value": "4096"
},
{
"name": "tez_auto_reducer_parallelism",
"value": "false"
},
{
"name": "hive_service_config_safety_valve",
"value": "<property><name>fs.s3a.ssl.channel.mode</name><value>openssl</value></property><property><name>hive.txn.acid.dir.cache.duration</name><value>0</value></property>"
}
],
"roleConfigGroups": [
{
"refName": "hive-GATEWAY-BASE",
"roleType": "GATEWAY",
"base": true
},
{
"refName": "hive-HIVESERVER2-BASE",
"roleType": "HIVESERVER2",
"base": true,
"configs": [
{
"name": "hive_server2_transport_mode",
"value": "http"
},
{
"name": "hiveserver2_mv_files_thread",
"value": 20
},
{
"name": "hiveserver2_load_dynamic_partitions_thread_count",
"value": 20
}
]
}
]
},
{
"refName": "hue",
"serviceType": "HUE",
"serviceConfigs": [
{
"name": "hue_service_safety_valve",
"value": "[desktop]\napp_blacklist=spark,zookeeper,hbase,impala,search,sqoop,security,pig"
}
],
"roleConfigGroups": [
{
"refName": "hue-HUE_SERVER-BASE",
"roleType": "HUE_SERVER",
"base": true
},
{
"refName": "hue-HUE_LOAD_BALANCER-BASE",
"roleType": "HUE_LOAD_BALANCER",
"base": true
}
]
},
{
"refName": "livy",
"serviceType": "LIVY",
"roleConfigGroups": [
{
"refName": "livy-GATEWAY-BASE",
"roleType": "GATEWAY",
"base": true
},
{
"refName": "livy-LIVY_SERVER-BASE",
"roleType": "LIVY_SERVER",
"base": true
}
]
},
{
"refName": "oozie",
"serviceType": "OOZIE",
"roleConfigGroups": [
{
"refName": "oozie-OOZIE_SERVER-BASE",
"roleType": "OOZIE_SERVER",
"configs": [
{
"name": "oozie_config_safety_valve",
"value": "<property><name>oozie.service.HadoopAccessorService.nameNode.whitelist</name><value></value></property>"
}
],
"base": true
}
]
},
{
"refName": "sqoop",
"serviceType": "SQOOP_CLIENT",
"roleConfigGroups": [
{
"refName": "sqoop-SQOOP_CLIENT-GATEWAY-BASE",
"roleType": "GATEWAY",
"configs": [],
"base": true
}
]
},
{
"refName": "yarn",
"serviceType": "YARN",
"serviceConfigs": [
{
"name": "yarn_admin_acl",
"value": "yarn,hive,hdfs,mapred"
}
],
"roleConfigGroups": [
{
"refName": "yarn-RESOURCEMANAGER-BASE",
"roleType": "RESOURCEMANAGER",
"base": true,
"configs": [
{
"name": "resourcemanager_config_safety_valve",
"value": "<property><name>yarn.scheduler.configuration.store.class</name><value>zk</value></property>"
},
{
"name": "yarn_resourcemanager_scheduler_class",
"value": "org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler"
},
{
"name": "yarn_scheduler_capacity_resource_calculator",
"value": "org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator"
},
{
"name": "resourcemanager_capacity_scheduler_configuration",
"value": "<configuration><property><name>yarn.scheduler.capacity.root.queues</name><value>default</value></property><property><name>yarn.scheduler.capacity.root.capacity</name><value>100</value></property><property><name>yarn.scheduler.capacity.root.default.capacity</name><value>100</value></property><property><name>yarn.scheduler.capacity.root.acl_submit_applications</name><value> </value></property><property><name>yarn.scheduler.capacity.root.acl_administer_queue</name><value> </value></property><property><name>yarn.scheduler.capacity.root.default.acl_submit_applications</name><value>*</value></property><property><name>yarn.scheduler.capacity.root.default.minimum-user-limit-percent</name><value>100</value></property><property><name>yarn.scheduler.capacity.maximum-am-resource-percent</name><value>0.33</value></property><property><name>yarn.scheduler.capacity.node-locality-delay</name><value>0</value></property><property><name>yarn.scheduler.capacity.schedule-asynchronously.maximum-threads</name><value>1</value></property><property><name>yarn.scheduler.capacity.schedule-asynchronously.scheduling-interval-ms</name><value>10</value></property></configuration>"
}
]
},
{
"refName": "yarn-NODEMANAGER-WORKER",
"roleType": "NODEMANAGER",
"base": false
},
{
"refName": "yarn-NODEMANAGER-COMPUTE",
"roleType": "NODEMANAGER",
"base": false
},
{
"refName": "yarn-JOBHISTORY-BASE",
"roleType": "JOBHISTORY",
"base": true
},
{
"refName": "yarn-GATEWAY-BASE",
"roleType": "GATEWAY",
"base": true,
"configs": [
{
"name": "mapreduce_map_memory_mb",
"value": 4096
},
{
"name": "mapreduce_reduce_memory_mb",
"value": 4096
},
{
"name": "mapreduce_client_env_safety_valve",
"value": "HADOOP_OPTS=\"-Dorg.wildfly.openssl.path=/usr/lib64 ${HADOOP_OPTS}\""
}
]
}
]
},
{
"refName": "spark_on_yarn",
"serviceType": "SPARK_ON_YARN",
"roleConfigGroups": [
{
"refName": "spark_on_yarn-SPARK_YARN_HISTORY_SERVER-BASE",
"roleType": "SPARK_YARN_HISTORY_SERVER",
"base": true
},
{
"refName": "spark_on_yarn-GATEWAY-BASE",
"roleType": "GATEWAY",
"base": true,
"configs": [
{
"name": "spark-conf/spark-defaults.conf_client_config_safety_valve",
"value": "spark.hadoop.fs.s3a.ssl.channel.mode=openssl"
}
]
}
]
},
{
"refName": "tez",
"serviceType": "TEZ",
"serviceConfigs": [
{
"name": "yarn_service",
"ref": "yarn"
},
{
"name": "tez.am.container.reuse.non-local-fallback.enabled",
"value": "true"
},
{
"name": "tez.am.container.reuse.locality.delay-allocation-millis",
"value": "0"
},
{
"name": "tez.am.launch.cmd-opts",
"value": "-XX:+PrintGCDetails -verbose:gc -XX:+UseNUMA -XX:+UseG1GC -XX:+ResizeTLAB"
},
{
"name": "tez.task.launch.cmd-opts",
"value": "-XX:+PrintGCDetails -verbose:gc -XX:+UseNUMA -XX:+UseG1GC -XX:+ResizeTLAB"
},
{
"name": "tez.grouping.split-waves",
"value": 1.4
},
{
"name": "tez.grouping.min-size",
"value": 268435456
},
{
"name": "tez.grouping.max-size",
"value": 268435456
}
],
"roleConfigGroups": [
{
"refName": "tez-GATEWAY-BASE",
"roleType": "GATEWAY",
"base": true
}
]
},
{
"refName": "das",
"serviceType": "DAS",
"roleConfigGroups": [
{
"refName": "das-DAS_WEBAPP",
"roleType": "DAS_WEBAPP",
"base": true,
"configs": [
{
"name": "data_analytics_studio_admin_users",
"value": "*"
}
]
},
{
"refName": "das-DAS_EVENT_PROCESSOR",
"roleType": "DAS_EVENT_PROCESSOR",
"base": true
}
]
},
{
"refName": "knox",
"roleConfigGroups": [
{
"base": true,
"refName": "knox-KNOX_GATEWAY-BASE",
"roleType": "KNOX_GATEWAY"
}
],
"serviceType": "KNOX"
},
{
"refName": "zeppelin",
"serviceType": "ZEPPELIN",
"serviceConfigs": [
{
"name": "yarn_service",
"ref": "yarn"
},
{
"name": "hdfs_service",
"ref": "hdfs"
},
{
"name": "spark_on_yarn_service",
"ref": "spark_on_yarn"
}
],
"roleConfigGroups": [
{
"refName": "zeppelin-ZEPPELIN_SERVER-BASE",
"roleType": "ZEPPELIN_SERVER",
"base": true
}
]
},
{
"refName": "queuemanager",
"serviceType": "QUEUEMANAGER",
"serviceConfigs": [
{
"name": "kerberos.auth.enabled",
"value": "true"
}
],
"roleConfigGroups": [
{
"refName": "yarn-QUEUEMANAGER_WEBAPP-BASE",
"roleType": "QUEUEMANAGER_WEBAPP",
"base": true
},
{
"refName": "yarn-QUEUEMANAGER_STORE-BASE",
"roleType": "QUEUEMANAGER_STORE",
"base": true
}
]
}
],
"hostTemplates": [
{
"refName": "gateway",
"cardinality": 0,
"roleConfigGroupsRefNames": [
"hdfs-GATEWAY-BASE",
"hive-GATEWAY-BASE",
"hms-GATEWAY-BASE",
"livy-GATEWAY-BASE",
"spark_on_yarn-GATEWAY-BASE",
"tez-GATEWAY-BASE",
"yarn-GATEWAY-BASE"
]
},
{
"refName": "master",
"cardinality": 2,
"roleConfigGroupsRefNames": [
"hdfs-FAILOVERCONTROLLER-BASE",
"hdfs-NAMENODE-BASE",
"hdfs-GATEWAY-BASE",
"hive-GATEWAY-BASE",
"hive-HIVESERVER2-BASE",
"hms-GATEWAY-BASE",
"hms-HIVEMETASTORE-BASE",
"hue-HUE_LOAD_BALANCER-BASE",
"hue-HUE_SERVER-BASE",
"knox-KNOX_GATEWAY-BASE",
"livy-GATEWAY-BASE",
"spark_on_yarn-GATEWAY-BASE",
"tez-GATEWAY-BASE",
"yarn-RESOURCEMANAGER-BASE",
"hdfs-JOURNALNODE-BASE",
"zookeeper-SERVER-BASE",
"yarn-GATEWAY-BASE"
]
},
{
"refName": "manager",
"cardinality": 1,
"roleConfigGroupsRefNames": [
"hdfs-BALANCER-BASE",
"hdfs-GATEWAY-BASE",
"hive-GATEWAY-BASE",
"hms-GATEWAY-BASE",
"livy-GATEWAY-BASE",
"livy-LIVY_SERVER-BASE",
"spark_on_yarn-GATEWAY-BASE",
"spark_on_yarn-SPARK_YARN_HISTORY_SERVER-BASE",
"tez-GATEWAY-BASE",
"yarn-JOBHISTORY-BASE",
"oozie-OOZIE_SERVER-BASE",
"sqoop-SQOOP_CLIENT-GATEWAY-BASE",
"zeppelin-ZEPPELIN_SERVER-BASE",
"das-DAS_EVENT_PROCESSOR",
"das-DAS_WEBAPP",
"knox-KNOX_GATEWAY-BASE",
"hdfs-JOURNALNODE-BASE",
"zookeeper-SERVER-BASE",
"yarn-QUEUEMANAGER_WEBAPP-BASE",
"yarn-QUEUEMANAGER_STORE-BASE",
"yarn-GATEWAY-BASE"
]
},
{
"refName": "worker",
"cardinality": 3,
"roleConfigGroupsRefNames": [
"hdfs-DATANODE-BASE",
"hdfs-GATEWAY-BASE",
"hive-GATEWAY-BASE",
"hms-GATEWAY-BASE",
"livy-GATEWAY-BASE",
"spark_on_yarn-GATEWAY-BASE",
"tez-GATEWAY-BASE",
"yarn-NODEMANAGER-WORKER",
"yarn-GATEWAY-BASE"
]
},
{
"refName": "compute",
"cardinality": 0,
"roleConfigGroupsRefNames": [
"hdfs-GATEWAY-BASE",
"hive-GATEWAY-BASE",
"hms-GATEWAY-BASE",
"livy-GATEWAY-BASE",
"spark_on_yarn-GATEWAY-BASE",
"tez-GATEWAY-BASE",
"yarn-NODEMANAGER-COMPUTE",
"yarn-GATEWAY-BASE"
]
}
]
}