{ "configurations" : [ {%- if hostvars[groups['execution_nodes'][0]]['namenode_HA'] is defined and hostvars[groups['execution_nodes'][0]]['namenode_HA'] == True %} { "core-site": { "properties" : { "fs.defaultFS" : "hdfs://mycluster", "ha.zookeeper.quorum" : " {%- set count = ['1'] -%} {%- for items in master_nodes -%} {%- for components in items['component_list'] -%} {%- if "ZOOKEEPER_SERVER" in components -%} %HOSTGROUP::{{items['server_ip']}}%:2181, {%- if count.append('1') %}{% endif %} {%- endif -%} {%- endfor -%} {%- endfor -%} " }} }, { "hdfs-site": { {%- for list in slave_nodes -%} {%- for comp in list['component_list'] -%} {%- if comp == 'DATANODE' -%} {%- if hostvars[groups['hdptest_datanode'][0]]['disk_count']|int > 0 -%} "properties_attributes" : { "final" : { "dfs.datanode.data.dir" : "true" } }, {% endif -%} {% endif -%} {%- endfor -%} {%- endfor -%} "properties" : { {%- for list in slave_nodes -%} {%- for comp in list['component_list'] -%} {%- if comp == 'DATANODE' -%} {%- if hostvars[groups['hdptest_datanode'][0]]['disk_count']|int > 0 -%} "dfs.datanode.data.dir" : "{{hostvars[groups['hdptest_datanode'][0]]['folder_detail']}}", {% endif -%} {% endif -%} {%- endfor -%} {%- endfor -%} "dfs.client.failover.proxy.provider.mycluster" : "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider", "dfs.ha.automatic-failover.enabled" : "true", "dfs.ha.fencing.methods" : "shell(/bin/true)", "dfs.ha.namenodes.mycluster" : "nn1,nn2", {% set count = ['1'] -%} {%- for items in master_nodes -%} {%- for components in items['component_list'] -%} {%- set len = count|length -%} {%- if "NAMENODE" in components %} "dfs.namenode.http-address.mycluster.nn{{len}}" : "%HOSTGROUP::{{items['server_ip']}}%:50070", "dfs.namenode.https-address.mycluster.nn{{len}}" : "%HOSTGROUP::{{items['server_ip']}}%:50470", "dfs.namenode.rpc-address.mycluster.nn{{len}}" : "%HOSTGROUP::{{items['server_ip']}}%:8020", {% if count|length == 1 %} "dfs.namenode.http-address" : "%HOSTGROUP::{{items['server_ip']}}%:50070", "dfs.namenode.https-address" : "%HOSTGROUP::{{items['server_ip']}}%:50470", {% if count.append('1') -%}{%- endif -%} {%- endif -%} {%- endif -%} {%- endfor -%} {%- endfor -%} "dfs.namenode.shared.edits.dir" : "qjournal:// {%- set count = ['1'] -%} {%- for items in slave_nodes -%} {%- for components in items['component_list'] -%} {%- if "JOURNALNODE" in components -%} %HOSTGROUP::{{items['server_ip']}}%:8485; {%- if count.append('1') %}{% endif %} {%- endif -%} {%- endfor -%} {%- endfor -%} /mycluster", "dfs.nameservices" : "mycluster" }} }, {%- endif -%} {%- if hostvars[groups['execution_nodes'][0]]['resourcemanager_HA'] is defined and hostvars[groups['execution_nodes'][0]]['resourcemanager_HA'] == True %} { "yarn-site" : { "properties" : { "hadoop.registry.rm.enabled" : "false", "hadoop.registry.zk.quorum" : " {%- set count = ['1'] -%} {%- for items in master_nodes -%} {%- for components in items['component_list'] -%} {%- if "ZOOKEEPER_SERVER" in components -%} %HOSTGROUP::{{items['server_ip']}}%:2181, {%- if count.append('1') %}{% endif %} {%- endif -%} {%- endfor -%} {%- endfor -%}", {% set vars = {'found': False} %} {%- for items in master_nodes -%} {%- for components in items['component_list'] -%} {%- if not vars.found -%} {%- if "RESOURCEMANAGER" in components -%} {%- if vars.update({'found': True}) -%} {%- endif -%} "yarn.log.server.url" : "http://%HOSTGROUP::{{items['server_ip']}}%:19888/jobhistory/logs", "yarn.resourcemanager.address" : "%HOSTGROUP::{{items['server_ip']}}%:8050", "yarn.resourcemanager.admin.address" : "%HOSTGROUP::{{items['server_ip']}}%:8141", "yarn.resourcemanager.cluster-id" : "yarn-cluster", "yarn.resourcemanager.ha.automatic-failover.zk-base-path" : "/yarn-leader-election", "yarn.resourcemanager.ha.enabled" : "true", "yarn.resourcemanager.ha.rm-ids" : "rm1,rm2", "yarn.resourcemanager.hostname" : "%HOSTGROUP::{{items['server_ip']}}%", "yarn.resourcemanager.recovery.enabled" : "true", "yarn.resourcemanager.resource-tracker.address" : "%HOSTGROUP::{{items['server_ip']}}%:8025", "yarn.resourcemanager.scheduler.address" : "%HOSTGROUP::{{items['server_ip']}}%:8030", "yarn.resourcemanager.store.class" : "org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore", "yarn.resourcemanager.webapp.address" : "%HOSTGROUP::{{items['server_ip']}}%:8088", "yarn.resourcemanager.webapp.https.address" : "%HOSTGROUP::{{items['server_ip']}}%:8090", "yarn.timeline-service.address" : "%HOSTGROUP::{{items['server_ip']}}%:10200", "yarn.timeline-service.webapp.address" : "%HOSTGROUP::{{items['server_ip']}}%:8188", "yarn.timeline-service.webapp.https.address" : "%HOSTGROUP::{{items['server_ip']}}%:8190" {%- endif -%} {%- endif -%} {%- endfor -%} {%- endfor -%} }} }, {%- endif -%} {%- if hostvars[groups['execution_nodes'][0]]['regionserver_HA'] is defined and hostvars[groups['execution_nodes'][0]]['regionserver_HA'] == True %} { "hbase-site" : { "dfs.domain.socket.path" : "/var/lib/hadoop-hdfs/dn_socket", "hbase.client.keyvalue.maxsize" : "10485760", "hbase.client.scanner.caching" : "100", "hbase.cluster.distributed" : "true", "hbase.coprocessor.master.classes" : "", "hbase.coprocessor.region.classes" : "", "hbase.defaults.for.version.skip" : "true", "hbase.hregion.majorcompaction" : "604800000", "hbase.hregion.majorcompaction.jitter" : "0.50", "hbase.hregion.max.filesize" : "10737418240", "hbase.hregion.memstore.block.multiplier" : "4", "hbase.hregion.memstore.flush.size" : "134217728", "hbase.hregion.memstore.mslab.enabled" : "true", "hbase.hstore.blockingStoreFiles" : "10", "hbase.hstore.compactionThreshold" : "3", "hbase.local.dir" : "${hbase.tmp.dir}/local", "hbase.master.info.bindAddress" : "0.0.0.0", "hbase.master.info.port" : "60010", "hbase.master.port" : "60000", "hbase.regionserver.global.memstore.lowerLimit" : "0.38", "hbase.regionserver.global.memstore.upperLimit" : "0.4", "hbase.regionserver.handler.count" : "60", "hbase.regionserver.info.port" : "60030", "hbase.regionserver.storefile.refresh.period" : "20", "hbase.rootdir" : {%- set vars = {'found': False} -%} {%- for items in master_nodes -%} {%- for components in items['component_list'] -%} {%- if not vars.found -%} {%- if "NAMENODE" in components -%} {%- if vars.update({'found': True}) -%} {%- endif -%} "hdfs://%HOSTGROUP::{{items['server_ip']}}%:8020/apps/hbase/data", {% endif %} {%- endif -%} {%- endfor -%} {%- endfor -%} "hbase.security.authentication" : "simple", "hbase.security.authorization" : "false", "hbase.superuser" : "hbase", "hbase.tmp.dir" : "/hadoop/hbase", "hbase.zookeeper.property.clientPort" : "2181", "hbase.zookeeper.quorum" : " {%- set count = ['1'] -%} {%- for items in master_nodes -%} {%- for components in items['component_list'] -%} {%- if "ZOOKEEPER_SERVER" in components -%} %HOSTGROUP::{{items['server_ip']}}%, {%- if count.append('1') -%}{%- endif -%} {%- endif -%} {%- endfor -%} {%- endfor %}", "hbase.zookeeper.useMulti" : "true", "hfile.block.cache.size" : "0.40", "zookeeper.session.timeout" : "30000", "zookeeper.znode.parent" : "/hbase-unsecure" } }, {%- endif -%} {%- for list in master_nodes -%} {%- for comp in list['component_list'] -%} {%- if comp == 'RANGER_ADMIN' -%} { "admin-properties": { "db_password": "rangeradmin", "db_root_user": "root", "DB_FLAVOR": "MYSQL", "db_user": "rangeradmin", "db_name": "ranger", "db_host": "{{hostvars[groups['rangerdb'][0]]['ansible_fqdn']}}", "audit_db_name" : "ranger_audit", "audit_db_user" : "rangerlogger", "audit_db_password" : "rangerlogger", "policymgr_external_url" : "http://{{hostvars[groups['rangerdb'][0]]['ansible_fqdn']}}:6080", "SQL_CONNECTOR_JAR" : "/usr/share/java/mysql-connector-java.jar" } }, { "ranger-env": { "ranger_admin_password": "rangerpassword", "is_solrCloud_enabled" : "false", "xasecure.audit.destination.solr" : "false", "create_db_dbuser" : "false", "xasecure.audit.destination.db" : "true", {% for list in master_nodes -%} {%- for comp in list['component_list'] -%} {% if comp == 'HBASE_MASTER' -%} "ranger-hbase-plugin-enabled" : "Yes", {% endif -%} {% if comp == 'STORM_UI_SERVER' -%} "ranger-storm-plugin-enabled" : "Yes", {% endif -%} {% if comp == 'KAFKA_BROKER' -%} "ranger-kafka-plugin-enabled" : "Yes", {% endif -%} {% if comp == 'HIVE_SERVER' -%} "ranger-hive-plugin-enabled" : "Yes", {% endif -%} {% if comp == 'KNOX_GATEWAY' -%} "ranger-knox-plugin-enabled" : "Yes", {% endif -%} {%- endfor -%} {%- endfor -%} "ranger-hdfs-plugin-enabled" : "Yes", "ranger-yarn-plugin-enabled" : "Yes" } }, { "ranger-admin-site": { "ranger.audit.source.type": "db", "ranger.audit.solr.urls": "", "ranger.jpa.jdbc.url" : "jdbc:mysql://{{hostvars[groups['rangerdb'][0]]['ansible_fqdn']}}/ranger" } }, {% endif -%} {% if comp == 'ACCUMULO_MASTER' -%} { "accumulo-env": { "properties": { "instance_secret" : "secret", "accumulo_root_password" : "root" } } }, {% endif -%} {% if comp == 'HIVE_SERVER' -%} { "hive-site": { "properties": { "ambari.hive.db.schema.name": "hive", "javax.jdo.option.ConnectionUserName": "hive", "javax.jdo.option.ConnectionPassword": "hive", "javax.jdo.option.ConnectionDriverName" : "com.mysql.jdbc.Driver", "javax.jdo.option.ConnectionURL" : "jdbc:mysql://{{hostvars[groups['hivedb'][0]]['ansible_fqdn']}}/hive?createDatabaseIfNotExist=true", "hive_database_type": "mysql" } } }, { "hive-env": { "hive_metastore_user_passwd": "hive", "hive_database_name" : "hive", "hive_database_type" : "mysql", "hive_user" : "hive", "hive_database" : "Existing MySQL Database", "hive_hostname" : "{{list.server_ip}}" } }, {%- endif -%} {% if comp == 'KNOX_GATEWAY' -%} { "knox-env" : { "properties_attributes" : { }, "properties" : { "knox_user" : "knox", "knox_group" : "knox", "knox_master_secret" : "secret", "knox_pid_dir" : "/var/run/knox" } } }, {%- endif -%} {% if comp == 'OOZIE_SERVER' -%} { "oozie-site" : { "properties_attributes" : { }, "properties" : { "oozie.db.schema.name" : "oozie", "oozie.service.JPAService.jdbc.username" : "oozie", "oozie.service.JPAService.jdbc.password" : "oozie", "oozie.service.JPAService.jdbc.driver" : "org.apache.derby.jdbc.EmbeddedDriver" } } }, {%- endif -%} {%- endfor -%} {%- endfor -%}], "host_groups" : [ {%- set flag = [] -%} {% for list in management_node %} { "components":[ {%- for comp in list['component_list'] -%} { "name": "{{comp}}" }, {%- endfor -%} ], "configurations" : [ ], "name" : "{{list['server_ip']}}", "cardinality" : "1" }, {%- endfor -%} {% for list in master_nodes %} { "components":[ {%- for comp in list['component_list'] -%} { "name": "{{comp}}" }, {%- endfor -%} ], "configurations" : [ ], "name" : "{{list['server_ip']}}", "cardinality" : "1" }, {%- endfor -%} {% for list in slave_nodes %} { "components":[ {%- for comp in list['component_list'] -%} { "name": "{{comp}}" }, {%- endfor -%} ], "configurations" : [ ], "name" : "{{list['server_ip']}}", "cardinality" : "1" }, {%- endfor -%} {% for list in edge_nodes %} { "components":[ {%- for comp in list['component_list'] -%} {%- if comp == 'CLIENTS' -%} {%- for key in master_nodes -%} {%- for cmp in key['component_list'] -%} {%- for nn in services -%} {%- for com in nn['components'] -%} {%- if cmp == com -%} {%- for cli in nn['clients'] -%} {%- if not cli in flag -%} {%- if flag.append(cli) -%}{%- endif -%} { "name":"{{cli}}" }, {%- endif -%} {%- endfor -%} {%- endif -%} {% endfor -%} {%- endfor -%} {%- endfor -%} {%- endfor -%} {%- else -%} { "name": "{{comp}}" }, {%- endif -%} {%- endfor -%}], "configurations" : [ ], "name" : "{{list['server_ip']}}", "cardinality" : "1" }, {%- endfor -%} ], "Blueprints" : { "blueprint_name" : "cluster_blueprint", "stack_name" : "HDP", "stack_version" : "{{ hdp_version }}", "security" : { "type" : "NONE" } } }