{
    "localComponents": [
        "SECONDARY_NAMENODE", 
        "HDFS_CLIENT", 
        "DATANODE", 
        "NAMENODE", 
        "RANGER_ADMIN", 
        "RANGER_TAGSYNC", 
        "RANGER_USERSYNC", 
        "ZOOKEEPER_SERVER", 
        "ZOOKEEPER_CLIENT", 
        "KERBEROS_CLIENT",
        "LOGSEARCH_SOLR",
        "LOGSEARCH_SOLR_CLIENT"
    ], 
    "configuration_attributes": {
        "ranger-hdfs-audit": {}, 
        "ssl-client": {}, 
        "ranger-admin-site": {}, 
        "ranger-hdfs-policymgr-ssl": {}, 
        "tagsync-application-properties": {}, 
        "ranger-env": {}, 
        "usersync-log4j": {}, 
        "ranger-hdfs-plugin-properties": {}, 
        "kerberos-env": {}, 
        "admin-properties": {}, 
        "ranger-ugsync-site": {}, 
        "hdfs-site": {
            "final": {
                "dfs.datanode.data.dir": "true", 
                "dfs.namenode.http-address": "true", 
                "dfs.datanode.failed.volumes.tolerated": "true", 
                "dfs.support.append": "true", 
                "dfs.namenode.name.dir": "true", 
                "dfs.webhdfs.enabled": "true"
            }
        }, 
        "ranger-tagsync-site": {}, 
        "zoo.cfg": {}, 
        "hadoop-policy": {}, 
        "hdfs-log4j": {}, 
        "krb5-conf": {}, 
        "core-site": {
            "final": {
                "fs.defaultFS": "true"
            }
        }, 
        "hadoop-env": {}, 
        "zookeeper-log4j": {}, 
        "ssl-server": {}, 
        "ranger-site": {}, 
        "admin-log4j": {}, 
        "tagsync-log4j": {}, 
        "ranger-hdfs-security": {}, 
        "usersync-properties": {}, 
        "zookeeper-env": {},
        "infra-solr-env": {},
        "infra-solr-client-log4j": {},
        "cluster-env": {}
    }, 
    "public_hostname": "c6401.ambari.apache.org", 
    "commandId": "41-2", 
    "hostname": "c6401.ambari.apache.org", 
    "kerberosCommandParams": [], 
    "serviceName": "RANGER", 
    "role": "RANGER_ADMIN", 
    "forceRefreshConfigTagsBeforeExecution": [], 
    "requestId": 41, 
    "agentConfigParams": {
        "agent": {
            "parallel_execution": 0
        }
    }, 
    "clusterName": "test_Cluster01", 
    "commandType": "EXECUTION_COMMAND", 
    "taskId": 186, 
    "roleParams": {}, 
    "configurationTags": {
        "ranger-hdfs-audit": {
            "tag": "version1466705299922"
        }, 
        "ssl-client": {
            "tag": "version1"
        }, 
        "ranger-admin-site": {
            "tag": "version1467016680635"
        }, 
        "ranger-hdfs-policymgr-ssl": {
            "tag": "version1466705299922"
        }, 
        "tagsync-application-properties": {
            "tag": "version1467016680511"
        }, 
        "ranger-env": {
            "tag": "version1466705299949"
        }, 
        "ranger-ugsync-site": {
            "tag": "version1467016680537"
        }, 
        "ranger-hdfs-plugin-properties": {
            "tag": "version1466705299922"
        }, 
        "kerberos-env": {
            "tag": "version1467016537243"
        }, 
        "admin-properties": {
            "tag": "version1466705299949"
        }, 
        "hdfs-site": {
            "tag": "version1467016680401"
        }, 
        "ranger-tagsync-site": {
            "tag": "version1467016680586"
        }, 
        "zoo.cfg": {
            "tag": "version1"
        }, 
        "hadoop-policy": {
            "tag": "version1"
        }, 
        "hdfs-log4j": {
            "tag": "version1"
        }, 
        "usersync-log4j": {
            "tag": "version1466705299949"
        }, 
        "krb5-conf": {
            "tag": "version1467016537243"
        }, 
        "core-site": {
            "tag": "version1467016680612"
        }, 
        "hadoop-env": {
            "tag": "version1467016680446"
        }, 
        "zookeeper-log4j": {
            "tag": "version1"
        }, 
        "ssl-server": {
            "tag": "version1"
        }, 
        "ranger-site": {
            "tag": "version1466705299949"
        }, 
        "admin-log4j": {
            "tag": "version1466705299949"
        }, 
        "tagsync-log4j": {
            "tag": "version1466705299949"
        }, 
        "ranger-hdfs-security": {
            "tag": "version1466705299922"
        }, 
        "usersync-properties": {
            "tag": "version1466705299949"
        }, 
        "zookeeper-env": {
            "tag": "version1467016680492"
        },
        "infra-solr-env": {
            "tag": "version1467098537360"
        },
        "infra-solr-client-log4j": {
            "tag": "version1467096917836"
        },
        "cluster-env": {
            "tag": "version1467016680567"
        }
    }, 
    "roleCommand": "START", 
    "hostLevelParams": {
        "agent_stack_retry_on_unavailability": "false", 
        "stack_name": "HDP", 
        "package_version": "2_5_0_0_*", 
        "custom_mysql_jdbc_name": "mysql-connector-java.jar",
        "previous_custom_mysql_jdbc_name": "mysql-connector-java-old.jar",
        "host_sys_prepped": "false", 
        "ambari_db_rca_username": "mapred", 
        "current_version": "2.5.0.0-801", 
        "mysql_jdbc_url": "http://c6401.ambari.apache.org:8080/resources//mysql-connector-java.jar", 
        "agent_stack_retry_count": "5", 
        "stack_version": "2.5", 
        "jdk_name": "jdk-8u60-linux-x64.tar.gz", 
        "ambari_db_rca_driver": "org.postgresql.Driver", 
        "java_home": "/usr/jdk64/jdk1.7.0_45",
        "repository_version_id": "1", 
        "jdk_location": "http://c6401.ambari.apache.org:8080/resources/", 
        "not_managed_hdfs_path_list": "[\"/tmp\"]", 
        "ambari_db_rca_url": "jdbc:postgresql://c6401.ambari.apache.org/ambarirca", 
        "java_version": "8", 
        "repo_info": "[{\"baseUrl\":\"http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.5.0.0-801\",\"osType\":\"redhat6\",\"repoId\":\"HDP-2.5\",\"repoName\":\"HDP\",\"defaultBaseUrl\":\"http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/updates/2.5.0.0\",\"latestBaseUrl\":\"http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/BUILDS/2.5.0.0-801\",\"baseSaved\":true},{\"baseUrl\":\"http://s3.amazonaws.com/dev.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6\",\"osType\":\"redhat6\",\"repoId\":\"HDP-UTILS-1.1.0.21\",\"repoName\":\"HDP-UTILS\",\"defaultBaseUrl\":\"http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6\",\"latestBaseUrl\":\"http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6\",\"baseSaved\":true}]", 
        "package_list": "[{\"name\":\"ranger_${stack_version}-admin\",\"condition\":\"\",\"skipUpgrade\":false},{\"name\":\"ranger_${stack_version}-usersync\",\"condition\":\"\",\"skipUpgrade\":false},{\"name\":\"ranger_${stack_version}-tagsync\",\"condition\":\"should_install_ranger_tagsync\",\"skipUpgrade\":false},{\"name\":\"ambari-logsearch-solr-client\",\"condition\":\"should_install_logsearch_solr_client\",\"skipUpgrade\":false}]", 
        "db_name": "ambari", 
        "group_list": "[\"ranger\",\"hadoop\",\"users\"]", 
        "agentCacheDir": "/var/lib/ambari-agent/cache", 
        "ambari_db_rca_password": "mapred", 
        "jce_name": "jce_policy-8.zip", 
        "oracle_jdbc_url": "http://c6401.ambari.apache.org:8080/resources//ojdbc6.jar", 
        "db_driver_filename": "mysql-connector-java.jar", 
        "user_list": "[\"zookeeper\",\"ambari-qa\",\"ranger\",\"hdfs\"]", 
        "clientsToUpdateConfigs": "[\"*\"]"
    }, 
    "commandParams": {
        "service_package_folder": "common-services/RANGER/0.4.0/package", 
        "script": "scripts/ranger_admin.py", 
        "hooks_folder": "HDP/2.0.6/hooks", 
        "version": "2.5.0.0-801", 
        "max_duration_for_retries": "0", 
        "command_retry_enabled": "false", 
        "command_timeout": "600", 
        "script_type": "PYTHON"
    }, 
    "forceRefreshConfigTags": [], 
    "stageId": 2, 
    "clusterHostInfo": {
        "snamenode_host": [
            "c6401.ambari.apache.org"
        ], 
        "ambari_server_use_ssl": [
            "false"
        ], 
        "all_ping_ports": [
            "8670"
        ], 
        "ranger_tagsync_hosts": [
            "c6401.ambari.apache.org"
        ], 
        "ranger_usersync_hosts": [
            "c6401.ambari.apache.org"
        ], 
        "all_hosts": [
            "c6401.ambari.apache.org"
        ], 
        "slave_hosts": [
            "c6401.ambari.apache.org"
        ], 
        "namenode_host": [
            "c6401.ambari.apache.org"
        ], 
        "ambari_server_port": [
            "8080"
        ], 
        "ranger_admin_hosts": [
            "c6401.ambari.apache.org"
        ], 
        "all_racks": [
            "/default-rack"
        ], 
        "all_ipv4_ips": [
            "172.22.83.73"
        ], 
        "ambari_server_host": [
            "c6401.ambari.apache.org"
        ], 
        "zookeeper_hosts": [
            "c6401.ambari.apache.org"
        ],
        "infra_solr_hosts": [
            "c6401.ambari.apache.org"
        ]
    }, 
    "configurations": {
        "ranger-hdfs-audit": {
            "xasecure.audit.destination.solr.zookeepers": "NONE", 
            "xasecure.audit.destination.solr.urls": "", 
            "xasecure.audit.destination.solr.batch.filespool.dir": "/var/log/hadoop/hdfs/audit/solr/spool", 
            "xasecure.audit.destination.hdfs.batch.filespool.dir": "/var/log/hadoop/hdfs/audit/hdfs/spool",
            "xasecure.audit.destination.hdfs": "true", 
            "xasecure.audit.destination.solr": "false",
            "xasecure.audit.provider.summary.enabled": "false", 
            "xasecure.audit.destination.hdfs.dir": "hdfs://c6401.ambari.apache.org:8020/ranger/audit", 
            "xasecure.audit.is.enabled": "true"
        }, 
        "ssl-client": {
            "ssl.client.truststore.reload.interval": "10000", 
            "ssl.client.keystore.password": "bigdata", 
            "ssl.client.truststore.type": "jks", 
            "ssl.client.keystore.location": "/etc/security/clientKeys/keystore.jks", 
            "ssl.client.truststore.location": "/etc/security/clientKeys/all.jks", 
            "ssl.client.truststore.password": "bigdata", 
            "ssl.client.keystore.type": "jks"
        }, 
        "ranger-admin-site": {
            "ranger.is.solr.kerberised": "true",
            "ranger.admin.kerberos.cookie.domain": "{{ranger_host}}", 
            "ranger.kms.service.user.hdfs": "hdfs", 
            "ranger.spnego.kerberos.principal": "HTTP/_HOST@EXAMPLE.COM", 
            "ranger.ldap.ad.url": "{{ranger_ug_ldap_url}}", 
            "ranger.plugins.hive.serviceuser": "hive", 
            "ranger.lookup.kerberos.keytab": "/etc/security/keytabs/rangerlookup.service.keytab", 
            "ranger.plugins.kms.serviceuser": "kms", 
            "ranger.service.https.attrib.ssl.enabled": "false", 
            "ranger.sso.browser.useragent": "Mozilla,chrome", 
            "ranger.jpa.jdbc.url": "jdbc:mysql://c6401.ambari.apache.org:3306/ranger01", 
            "ranger.plugins.hbase.serviceuser": "hbase", 
            "ranger.plugins.hdfs.serviceuser": "hdfs", 
            "ranger.ldap.group.searchbase": "{{ranger_ug_ldap_group_searchbase}}", 
            "ranger.ldap.user.dnpattern": "uid={0},ou=users,dc=xasecure,dc=net", 
            "ranger.plugins.knox.serviceuser": "knox", 
            "ranger.ldap.base.dn": "dc=example,dc=com", 
            "ranger.sso.publicKey": "", 
            "ranger.admin.kerberos.cookie.path": "/", 
            "ranger.service.https.attrib.clientAuth": "want", 
            "ranger.jpa.jdbc.user": "{{ranger_db_user}}", 
            "ranger.ldap.ad.user.searchfilter": "(sAMAccountName={0})", 
            "ranger.ldap.group.roleattribute": "cn", 
            "ranger.plugins.kafka.serviceuser": "kafka", 
            "ranger.admin.kerberos.principal": "rangeradmin/_HOST@EXAMPLE.COM", 
            "ranger.ldap.ad.bind.dn": "{{ranger_ug_ldap_bind_dn}}", 
            "ranger.credential.provider.path": "/etc/ranger/admin/rangeradmin.jceks",
            "ranger.ldap.referral": "ignore", 
            "ranger.service.http.port": "6080", 
            "ranger.ldap.user.searchfilter": "(uid={0})", 
            "ranger.plugins.atlas.serviceuser": "atlas", 
            "ranger.truststore.password": "changeit", 
            "ranger.ldap.bind.password": "{{ranger_usersync_ldap_ldapbindpassword}}", 
            "ranger.audit.solr.password": "NONE", 
            "ranger.audit.solr.zookeepers": "c6401.ambari.apache.org:2181/ambari-solr", 
            "ranger.lookup.kerberos.principal": "rangerlookup/_HOST@EXAMPLE.COM",
            "ranger.service.https.port": "6182", 
            "ranger.plugins.storm.serviceuser": "storm", 
            "ranger.externalurl": "{{ranger_external_url}}", 
            "ranger.truststore.file": "/etc/ranger/admin/conf/ranger-admin-keystore.jks", 
            "ranger.kms.service.user.hive": "", 
            "ranger.https.attrib.keystore.file": "/etc/ranger/admin/conf/ranger-admin-keystore.jks", 
            "ranger.jpa.jdbc.dialect": "{{jdbc_dialect}}", 
            "ranger.service.host": "{{ranger_host}}", 
            "ranger.service.https.attrib.keystore.keyalias": "rangeradmin", 
            "ranger.service.https.attrib.keystore.pass": "xasecure", 
            "ranger.unixauth.remote.login.enabled": "true", 
            "ranger.jpa.jdbc.credential.alias": "rangeradmin",
            "ranger.ldap.ad.bind.password": "{{ranger_usersync_ldap_ldapbindpassword}}", 
            "ranger.audit.solr.username": "ranger_solr", 
            "ranger.sso.enabled": "false", 
            "ranger.audit.solr.urls": "", 
            "ranger.ldap.ad.domain": "", 
            "ranger.plugins.yarn.serviceuser": "yarn", 
            "ranger.audit.source.type": "solr", 
            "ranger.ldap.bind.dn": "{{ranger_ug_ldap_bind_dn}}", 
            "ranger.ldap.url": "{{ranger_ug_ldap_url}}", 
            "ranger.authentication.method": "UNIX", 
            "ranger.service.http.enabled": "true", 
            "ranger.ldap.group.searchfilter": "{{ranger_ug_ldap_group_searchfilter}}", 
            "ranger.ldap.ad.referral": "ignore", 
            "ranger.ldap.ad.base.dn": "dc=example,dc=com", 
            "ranger.jpa.jdbc.password": "_", 
            "ranger.spnego.kerberos.keytab": "/etc/security/keytabs/spnego.service.keytab", 
            "ranger.sso.providerurl": "", 
            "ranger.unixauth.service.hostname": "{{ugsync_host}}", 
            "ranger.admin.kerberos.keytab": "/etc/security/keytabs/rangeradmin.service.keytab", 
            "ranger.admin.kerberos.token.valid.seconds": "30", 
            "ranger.jpa.jdbc.driver": "com.mysql.jdbc.Driver", 
            "ranger.unixauth.service.port": "5151"
        }, 
        "ranger-hdfs-policymgr-ssl": {
            "xasecure.policymgr.clientssl.keystore": "/usr/hdp/current/hadoop-client/conf/ranger-plugin-keystore.jks", 
            "xasecure.policymgr.clientssl.truststore.password": "changeit", 
            "xasecure.policymgr.clientssl.keystore.credential.file": "jceks://file{{credential_file}}", 
            "xasecure.policymgr.clientssl.truststore": "/usr/hdp/current/hadoop-client/conf/ranger-plugin-truststore.jks", 
            "xasecure.policymgr.clientssl.truststore.credential.file": "jceks://file{{credential_file}}", 
            "xasecure.policymgr.clientssl.keystore.password": "myKeyFilePassword"
        }, 
        "tagsync-application-properties": {
            "atlas.kafka.zookeeper.connect": "c6401.ambari.apache.org:2181", 
            "atlas.kafka.security.protocol": "SASL_PLAINTEXT", 
            "atlas.jaas.KafkaClient.option.principal": "{{tagsync_jaas_principal}}", 
            "atlas.jaas.KafkaClient.option.keyTab": "{{tagsync_keytab_path}}", 
            "atlas.kafka.entities.group.id": "ranger_entities_consumer", 
            "atlas.jaas.KafkaClient.loginModuleName": "com.sun.security.auth.module.Krb5LoginModule", 
            "atlas.jaas.KafkaClient.option.serviceName": "kafka", 
            "atlas.kafka.bootstrap.servers": "localhost:6667", 
            "atlas.jaas.KafkaClient.option.useKeyTab": "true", 
            "atlas.jaas.KafkaClient.option.storeKey": "true", 
            "atlas.jaas.KafkaClient.loginModuleControlFlag": "required", 
            "atlas.kafka.sasl.kerberos.service.name": "kafka"
        }, 
        "ranger-env": {
            "ranger_solr_shards": "1", 
            "ranger_solr_config_set": "ranger_audits", 
            "ranger_user": "ranger", 
            "ranger_solr_replication_factor": "1",
            "xml_configurations_supported": "true", 
            "ranger-atlas-plugin-enabled": "No", 
            "ranger-hbase-plugin-enabled": "No", 
            "ranger-yarn-plugin-enabled": "No", 
            "bind_anonymous": "false", 
            "ranger_admin_username": "amb_ranger_admin", 
            "admin_password": "admin", 
            "is_solrCloud_enabled": "true", 
            "ranger-storm-plugin-enabled": "No", 
            "ranger-hdfs-plugin-enabled": "No", 
            "ranger_group": "ranger", 
            "ranger-knox-plugin-enabled": "No", 
            "ranger_admin_log_dir": "/var/log/ranger/admin", 
            "ranger-kafka-plugin-enabled": "No", 
            "ranger_privelege_user_jdbc_url": "jdbc:mysql://c6401.ambari.apache.org:3306", 
            "ranger-hive-plugin-enabled": "No", 
            "xasecure.audit.destination.solr": "true", 
            "ranger_pid_dir": "/var/run/ranger", 
            "xasecure.audit.destination.hdfs": "true", 
            "admin_username": "admin", 
            "xasecure.audit.destination.hdfs.dir": "hdfs://c6401.ambari.apache.org:8020/ranger/audit", 
            "create_db_dbuser": "true", 
            "ranger_solr_collection_name": "ranger_audits", 
            "ranger_admin_password": "P1!q9xa96SMi5NCl", 
            "ranger_usersync_log_dir": "/var/log/ranger/usersync"
        }, 
        "usersync-log4j": {
            "content": "\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\nlog4j.rootLogger = info,logFile\n\n# logFile\nlog4j.appender.logFile=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.logFile.file=${logdir}/usersync.log\nlog4j.appender.logFile.datePattern='.'yyyy-MM-dd\nlog4j.appender.logFile.layout=org.apache.log4j.PatternLayout\nlog4j.appender.logFile.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p %c{1} [%t] - %m%n\n\n# console\nlog4j.appender.console=org.apache.log4j.ConsoleAppender\nlog4j.appender.console.Target=System.out\nlog4j.appender.console.layout=org.apache.log4j.PatternLayout\nlog4j.appender.console.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p %c{1} [%t] - %m%n"
        }, 
        "ranger-hdfs-plugin-properties": {
            "hadoop.rpc.protection": "authentication", 
            "ranger-hdfs-plugin-enabled": "No", 
            "REPOSITORY_CONFIG_USERNAME": "hadoop", 
            "policy_user": "ambari-qa", 
            "common.name.for.certificate": "", 
            "REPOSITORY_CONFIG_PASSWORD": "hadoop"
        }, 
        "kerberos-env": {
            "kdc_hosts": "c6401.ambari.apache.org", 
            "manage_auth_to_local": "true", 
            "install_packages": "true", 
            "realm": "EXAMPLE.COM", 
            "encryption_types": "aes des3-cbc-sha1 rc4 des-cbc-md5", 
            "ad_create_attributes_template": "\n{\n  \"objectClass\": [\"top\", \"person\", \"organizationalPerson\", \"user\"],\n  \"cn\": \"$principal_name\",\n  #if( $is_service )\n  \"servicePrincipalName\": \"$principal_name\",\n  #end\n  \"userPrincipalName\": \"$normalized_principal\",\n  \"unicodePwd\": \"$password\",\n  \"accountExpires\": \"0\",\n  \"userAccountControl\": \"66048\"\n}", 
            "kdc_create_attributes": "", 
            "admin_server_host": "c6401.ambari.apache.org", 
            "group": "ambari-managed-principals", 
            "password_length": "20", 
            "ldap_url": "", 
            "manage_identities": "true", 
            "password_min_lowercase_letters": "1", 
            "create_ambari_principal": "true", 
            "service_check_principal_name": "${cluster_name|toLower()}-${short_date}", 
            "executable_search_paths": "/usr/bin, /usr/kerberos/bin, /usr/sbin, /usr/lib/mit/bin, /usr/lib/mit/sbin", 
            "password_chat_timeout": "5", 
            "kdc_type": "mit-kdc", 
            "set_password_expiry": "false", 
            "password_min_punctuation": "1", 
            "container_dn": "", 
            "case_insensitive_username_rules": "false", 
            "password_min_whitespace": "0", 
            "password_min_uppercase_letters": "1", 
            "password_min_digits": "1"
        }, 
        "admin-properties": {
            "db_user": "rangeradmin01", 
            "DB_FLAVOR": "MYSQL", 
            "db_password": "rangeradmin01", 
            "db_root_user": "root", 
            "policymgr_external_url": "http://c6401.ambari.apache.org:6080", 
            "db_name": "ranger01", 
            "db_host": "c6401.ambari.apache.org", 
            "db_root_password": "vagrant", 
            "SQL_CONNECTOR_JAR": "{{driver_curl_target}}"
        }, 
        "ranger-ugsync-site": {
            "ranger.usersync.ldap.binddn": "", 
            "ranger.usersync.policymgr.username": "rangerusersync", 
            "ranger.usersync.policymanager.mockrun": "false", 
            "ranger.usersync.group.searchbase": "", 
            "ranger.usersync.ldap.bindalias": "testldapalias", 
            "ranger.usersync.truststore.file": "/usr/hdp/current/ranger-usersync/conf/mytruststore.jks", 
            "ranger.usersync.port": "5151", 
            "ranger.usersync.pagedresultssize": "500", 
            "ranger.usersync.group.memberattributename": "", 
            "ranger.usersync.kerberos.principal": "rangerusersync/_HOST@EXAMPLE.COM", 
            "ranger.usersync.source.impl.class": "org.apache.ranger.unixusersync.process.UnixUserGroupBuilder", 
            "ranger.usersync.ldap.referral": "ignore", 
            "ranger.usersync.group.searchfilter": "", 
            "ranger.usersync.ldap.user.objectclass": "person", 
            "ranger.usersync.logdir": "{{usersync_log_dir}}", 
            "ranger.usersync.ldap.user.searchfilter": "", 
            "ranger.usersync.ldap.groupname.caseconversion": "none", 
            "ranger.usersync.ldap.ldapbindpassword": "", 
            "ranger.usersync.unix.minUserId": "500", 
            "ranger.usersync.policymanager.maxrecordsperapicall": "1000", 
            "ranger.usersync.group.nameattribute": "", 
            "ranger.usersync.policymgr.alias": "ranger.usersync.policymgr.password", 
            "ranger.usersync.keystore.file": "/usr/hdp/current/ranger-usersync/conf/unixauthservice.jks", 
            "ranger.usersync.user.searchenabled": "false", 
            "ranger.usersync.group.usermapsyncenabled": "true", 
            "ranger.usersync.ldap.bindkeystore": "", 
            "ranger.usersync.ldap.user.groupnameattribute": "memberof, ismemberof", 
            "ranger.usersync.kerberos.keytab": "/etc/security/keytabs/rangerusersync.service.keytab", 
            "ranger.usersync.passwordvalidator.path": "./native/credValidator.uexe", 
            "ranger.usersync.group.objectclass": "", 
            "ranger.usersync.ldap.user.searchscope": "sub", 
            "ranger.usersync.unix.password.file": "/etc/passwd", 
            "ranger.usersync.ldap.user.nameattribute": "", 
            "ranger.usersync.pagedresultsenabled": "true", 
            "ranger.usersync.policymanager.baseURL": "{{ranger_external_url}}", 
            "ranger.usersync.group.search.first.enabled": "false", 
            "ranger.usersync.group.searchenabled": "false", 
            "ranger.usersync.sink.impl.class": "org.apache.ranger.unixusersync.process.PolicyMgrUserGroupBuilder", 
            "ranger.usersync.ssl": "true", 
            "ranger.usersync.ldap.url": "", 
            "ranger.usersync.ldap.searchBase": "dc=hadoop,dc=apache,dc=org", 
            "ranger.usersync.policymgr.keystore": "/usr/hdp/current/ranger-usersync/conf/ugsync.jceks", 
            "ranger.usersync.ldap.user.searchbase": "", 
            "ranger.usersync.ldap.username.caseconversion": "none", 
            "ranger.usersync.credstore.filename": "/usr/hdp/current/ranger-usersync/conf/ugsync.jceks", 
            "ranger.usersync.keystore.password": "UnIx529p", 
            "ranger.usersync.unix.group.file": "/etc/group", 
            "ranger.usersync.filesource.file": "/tmp/usergroup.txt", 
            "ranger.usersync.group.searchscope": "", 
            "ranger.usersync.truststore.password": "changeit", 
            "ranger.usersync.enabled": "true", 
            "ranger.usersync.sleeptimeinmillisbetweensynccycle": "60000", 
            "ranger.usersync.filesource.text.delimiter": ","
        }, 
        "hdfs-site": {
            "dfs.namenode.checkpoint.period": "21600", 
            "dfs.namenode.avoid.write.stale.datanode": "true", 
            "dfs.permissions.superusergroup": "hdfs", 
            "dfs.namenode.startup.delay.block.deletion.sec": "3600", 
            "dfs.namenode.kerberos.internal.spnego.principal": "HTTP/_HOST@EXAMPLE.COM", 
            "dfs.datanode.kerberos.principal": "dn/_HOST@EXAMPLE.COM", 
            "dfs.heartbeat.interval": "3", 
            "dfs.content-summary.limit": "5000", 
            "dfs.support.append": "true", 
            "dfs.datanode.address": "0.0.0.0:1019", 
            "dfs.cluster.administrators": " hdfs", 
            "dfs.namenode.audit.log.async": "true", 
            "dfs.datanode.balance.bandwidthPerSec": "6250000", 
            "dfs.namenode.safemode.threshold-pct": "1", 
            "dfs.namenode.checkpoint.edits.dir": "${dfs.namenode.checkpoint.dir}", 
            "dfs.namenode.rpc-address": "c6401.ambari.apache.org:8020", 
            "dfs.permissions.enabled": "true", 
            "dfs.namenode.kerberos.principal": "nn/_HOST@EXAMPLE.COM", 
            "dfs.client.read.shortcircuit": "true", 
            "dfs.https.port": "50470", 
            "dfs.namenode.https-address": "c6401.ambari.apache.org:50470", 
            "nfs.file.dump.dir": "/tmp/.hdfs-nfs", 
            "dfs.blocksize": "134217728", 
            "dfs.blockreport.initialDelay": "120", 
            "dfs.journalnode.edits.dir": "/hadoop/hdfs/journalnode", 
            "dfs.namenode.fslock.fair": "false", 
            "dfs.datanode.max.transfer.threads": "4096", 
            "dfs.secondary.namenode.kerberos.internal.spnego.principal": "HTTP/_HOST@EXAMPLE.COM", 
            "dfs.replication": "3", 
            "dfs.namenode.handler.count": "50", 
            "dfs.web.authentication.kerberos.keytab": "/etc/security/keytabs/spnego.service.keytab", 
            "fs.permissions.umask-mode": "022", 
            "dfs.namenode.stale.datanode.interval": "30000", 
            "dfs.datanode.ipc.address": "0.0.0.0:8010", 
            "dfs.datanode.failed.volumes.tolerated": "0", 
            "dfs.datanode.data.dir": "/grid/0/hadoop/hdfs/data", 
            "dfs.namenode.http-address": "c6401.ambari.apache.org:50070", 
            "dfs.webhdfs.enabled": "true", 
            "dfs.encrypt.data.transfer.cipher.suites": "AES/CTR/NoPadding", 
            "dfs.namenode.accesstime.precision": "0", 
            "dfs.namenode.write.stale.datanode.ratio": "1.0f", 
            "dfs.datanode.https.address": "0.0.0.0:50475", 
            "dfs.namenode.checkpoint.dir": "/grid/0/hadoop/hdfs/namesecondary", 
            "dfs.namenode.secondary.http-address": "c6401.ambari.apache.org:50090", 
            "nfs.exports.allowed.hosts": "* rw", 
            "dfs.namenode.checkpoint.txns": "1000000", 
            "dfs.datanode.http.address": "0.0.0.0:1022", 
            "dfs.datanode.du.reserved": "33011188224", 
            "dfs.client.read.shortcircuit.streams.cache.size": "4096", 
            "dfs.secondary.namenode.keytab.file": "/etc/security/keytabs/nn.service.keytab", 
            "dfs.web.authentication.kerberos.principal": "HTTP/_HOST@EXAMPLE.COM", 
            "dfs.http.policy": "HTTP_ONLY", 
            "dfs.block.access.token.enable": "true", 
            "dfs.client.retry.policy.enabled": "false", 
            "dfs.secondary.namenode.kerberos.principal": "nn/_HOST@EXAMPLE.COM", 
            "dfs.datanode.keytab.file": "/etc/security/keytabs/dn.service.keytab", 
            "dfs.namenode.name.dir.restore": "true", 
            "dfs.namenode.keytab.file": "/etc/security/keytabs/nn.service.keytab", 
            "dfs.journalnode.https-address": "0.0.0.0:8481", 
            "dfs.journalnode.http-address": "0.0.0.0:8480", 
            "dfs.domain.socket.path": "/var/lib/hadoop-hdfs/dn_socket", 
            "dfs.namenode.avoid.read.stale.datanode": "true", 
            "dfs.hosts.exclude": "/etc/hadoop/conf/dfs.exclude", 
            "dfs.datanode.data.dir.perm": "750", 
            "dfs.encryption.key.provider.uri": "kms://http@c6401.ambari.apache.org:9292/kms", 
            "dfs.replication.max": "50", 
            "dfs.namenode.name.dir": "/grid/0/hadoop/hdfs/namenode"
        }, 
        "ranger-tagsync-site": {
            "ranger.tagsync.dest.ranger.ssl.config.filename": "/usr/hdp/current/ranger-tagsync/conf/mytruststore.jks", 
            "ranger.tagsync.source.atlasrest.username": "", 
            "ranger.tagsync.logdir": "/var/log/ranger/tagsync", 
            "ranger.tagsync.source.atlasrest.download.interval.millis": "", 
            "ranger.tagsync.keystore.filename": "/usr/hdp/current/ranger-tagsync/conf/rangertagsync.jceks", 
            "ranger.tagsync.source.file.check.interval.millis": "", 
            "ranger.tagsync.source.atlasrest.endpoint": "", 
            "ranger.tagsync.dest.ranger.username": "rangertagsync", 
            "ranger.tagsync.dest.ranger.endpoint": "{{ranger_external_url}}", 
            "ranger.tagsync.kerberos.principal": "rangertagsync/_HOST@EXAMPLE.COM", 
            "ranger.tagsync.kerberos.keytab": "/etc/security/keytabs/rangertagsync.service.keytab", 
            "ranger.tagsync.source.atlas": "false", 
            "ranger.tagsync.source.atlasrest": "false", 
            "ranger.tagsync.source.file": "false", 
            "ranger.tagsync.source.file.filename": ""
        }, 
        "zoo.cfg": {
            "clientPort": "2181", 
            "autopurge.purgeInterval": "24", 
            "syncLimit": "5", 
            "dataDir": "/grid/0/hadoop/zookeeper", 
            "initLimit": "10", 
            "tickTime": "2000", 
            "autopurge.snapRetainCount": "30"
        }, 
        "hadoop-policy": {
            "security.job.client.protocol.acl": "*", 
            "security.job.task.protocol.acl": "*", 
            "security.datanode.protocol.acl": "*", 
            "security.namenode.protocol.acl": "*", 
            "security.client.datanode.protocol.acl": "*", 
            "security.inter.tracker.protocol.acl": "*", 
            "security.refresh.usertogroups.mappings.protocol.acl": "hadoop", 
            "security.client.protocol.acl": "*", 
            "security.refresh.policy.protocol.acl": "hadoop", 
            "security.admin.operations.protocol.acl": "hadoop", 
            "security.inter.datanode.protocol.acl": "*"
        }, 
        "hdfs-log4j": {
            "content": "\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#  http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing,\n# software distributed under the License is distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n# KIND, either express or implied.  See the License for the\n# specific language governing permissions and limitations\n# under the License.\n#\n\n\n# Define some default values that can be overridden by system properties\n# To change daemon root logger use hadoop_root_logger in hadoop-env\nhadoop.root.logger=INFO,console\nhadoop.log.dir=.\nhadoop.log.file=hadoop.log\n\n\n# Define the root logger to the system property \"hadoop.root.logger\".\nlog4j.rootLogger=${hadoop.root.logger}, EventCounter\n\n# Logging Threshold\nlog4j.threshhold=ALL\n\n#\n# Daily Rolling File Appender\n#\n\nlog4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.DRFA.File=${hadoop.log.dir}/${hadoop.log.file}\n\n# Rollver at midnight\nlog4j.appender.DRFA.DatePattern=.yyyy-MM-dd\n\n# 30-day backup\n#log4j.appender.DRFA.MaxBackupIndex=30\nlog4j.appender.DRFA.layout=org.apache.log4j.PatternLayout\n\n# Pattern format: Date LogLevel LoggerName LogMessage\nlog4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n\n# Debugging Pattern format\n#log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n\n\n\n#\n# console\n# Add \"console\" to rootlogger above if you want to use this\n#\n\nlog4j.appender.console=org.apache.log4j.ConsoleAppender\nlog4j.appender.console.target=System.err\nlog4j.appender.console.layout=org.apache.log4j.PatternLayout\nlog4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n\n\n#\n# TaskLog Appender\n#\n\n#Default values\nhadoop.tasklog.taskid=null\nhadoop.tasklog.iscleanup=false\nhadoop.tasklog.noKeepSplits=4\nhadoop.tasklog.totalLogFileSize=100\nhadoop.tasklog.purgeLogSplits=true\nhadoop.tasklog.logsRetainHours=12\n\nlog4j.appender.TLA=org.apache.hadoop.mapred.TaskLogAppender\nlog4j.appender.TLA.taskId=${hadoop.tasklog.taskid}\nlog4j.appender.TLA.isCleanup=${hadoop.tasklog.iscleanup}\nlog4j.appender.TLA.totalLogFileSize=${hadoop.tasklog.totalLogFileSize}\n\nlog4j.appender.TLA.layout=org.apache.log4j.PatternLayout\nlog4j.appender.TLA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n\n\n#\n#Security audit appender\n#\nhadoop.security.logger=INFO,console\nhadoop.security.log.maxfilesize=256MB\nhadoop.security.log.maxbackupindex=20\nlog4j.category.SecurityLogger=${hadoop.security.logger}\nhadoop.security.log.file=SecurityAuth.audit\nlog4j.appender.DRFAS=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.DRFAS.File=${hadoop.log.dir}/${hadoop.security.log.file}\nlog4j.appender.DRFAS.layout=org.apache.log4j.PatternLayout\nlog4j.appender.DRFAS.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n\nlog4j.appender.DRFAS.DatePattern=.yyyy-MM-dd\n\nlog4j.appender.RFAS=org.apache.log4j.RollingFileAppender\nlog4j.appender.RFAS.File=${hadoop.log.dir}/${hadoop.security.log.file}\nlog4j.appender.RFAS.layout=org.apache.log4j.PatternLayout\nlog4j.appender.RFAS.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n\nlog4j.appender.RFAS.MaxFileSize=${hadoop.security.log.maxfilesize}\nlog4j.appender.RFAS.MaxBackupIndex=${hadoop.security.log.maxbackupindex}\n\n#\n# hdfs audit logging\n#\nhdfs.audit.logger=INFO,console\nlog4j.logger.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=${hdfs.audit.logger}\nlog4j.additivity.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=false\nlog4j.appender.DRFAAUDIT=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.DRFAAUDIT.File=${hadoop.log.dir}/hdfs-audit.log\nlog4j.appender.DRFAAUDIT.layout=org.apache.log4j.PatternLayout\nlog4j.appender.DRFAAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n\nlog4j.appender.DRFAAUDIT.DatePattern=.yyyy-MM-dd\n\n#\n# NameNode metrics logging.\n# The default is to retain two namenode-metrics.log files up to 64MB each.\n#\nnamenode.metrics.logger=INFO,NullAppender\nlog4j.logger.NameNodeMetricsLog=${namenode.metrics.logger}\nlog4j.additivity.NameNodeMetricsLog=false\nlog4j.appender.NNMETRICSRFA=org.apache.log4j.RollingFileAppender\nlog4j.appender.NNMETRICSRFA.File=${hadoop.log.dir}/namenode-metrics.log\nlog4j.appender.NNMETRICSRFA.layout=org.apache.log4j.PatternLayout\nlog4j.appender.NNMETRICSRFA.layout.ConversionPattern=%d{ISO8601} %m%n\nlog4j.appender.NNMETRICSRFA.MaxBackupIndex=1\nlog4j.appender.NNMETRICSRFA.MaxFileSize=64MB\n\n#\n# mapred audit logging\n#\nmapred.audit.logger=INFO,console\nlog4j.logger.org.apache.hadoop.mapred.AuditLogger=${mapred.audit.logger}\nlog4j.additivity.org.apache.hadoop.mapred.AuditLogger=false\nlog4j.appender.MRAUDIT=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.MRAUDIT.File=${hadoop.log.dir}/mapred-audit.log\nlog4j.appender.MRAUDIT.layout=org.apache.log4j.PatternLayout\nlog4j.appender.MRAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n\nlog4j.appender.MRAUDIT.DatePattern=.yyyy-MM-dd\n\n#\n# Rolling File Appender\n#\n\nlog4j.appender.RFA=org.apache.log4j.RollingFileAppender\nlog4j.appender.RFA.File=${hadoop.log.dir}/${hadoop.log.file}\n\n# Logfile size and and 30-day backups\nlog4j.appender.RFA.MaxFileSize=256MB\nlog4j.appender.RFA.MaxBackupIndex=10\n\nlog4j.appender.RFA.layout=org.apache.log4j.PatternLayout\nlog4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} - %m%n\nlog4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n\n\n\n# Custom Logging levels\n\nhadoop.metrics.log.level=INFO\n#log4j.logger.org.apache.hadoop.mapred.JobTracker=DEBUG\n#log4j.logger.org.apache.hadoop.mapred.TaskTracker=DEBUG\n#log4j.logger.org.apache.hadoop.fs.FSNamesystem=DEBUG\nlog4j.logger.org.apache.hadoop.metrics2=${hadoop.metrics.log.level}\n\n# Jets3t library\nlog4j.logger.org.jets3t.service.impl.rest.httpclient.RestS3Service=ERROR\n\n#\n# Null Appender\n# Trap security logger on the hadoop client side\n#\nlog4j.appender.NullAppender=org.apache.log4j.varia.NullAppender\n\n#\n# Event Counter Appender\n# Sends counts of logging messages at different severity levels to Hadoop Metrics.\n#\nlog4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter\n\n# Removes \"deprecated\" messages\nlog4j.logger.org.apache.hadoop.conf.Configuration.deprecation=WARN\n\n#\n# HDFS block state change log from block manager\n#\n# Uncomment the following to suppress normal block state change\n# messages from BlockManager in NameNode.\n#log4j.logger.BlockStateChange=WARN"
        }, 
        "krb5-conf": {
            "domains": "", 
            "manage_krb5_conf": "true", 
            "content": "\n[libdefaults]\n  renew_lifetime = 7d\n  forwardable = true\n  default_realm = {{realm}}\n  ticket_lifetime = 24h\n  dns_lookup_realm = false\n  dns_lookup_kdc = false\n  default_ccache_name = /tmp/krb5cc_%{uid}\n  #default_tgs_enctypes = {{encryption_types}}\n  #default_tkt_enctypes = {{encryption_types}}\n{% if domains %}\n[domain_realm]\n{%- for domain in domains.split(',') %}\n  {{domain|trim()}} = {{realm}}\n{%- endfor %}\n{% endif %}\n[logging]\n  default = FILE:/var/log/krb5kdc.log\n  admin_server = FILE:/var/log/kadmind.log\n  kdc = FILE:/var/log/krb5kdc.log\n\n[realms]\n  {{realm}} = {\n{%- if kdc_hosts > 0 -%}\n{%- set kdc_host_list = kdc_hosts.split(',')  -%}\n{%- if kdc_host_list and kdc_host_list|length > 0 %}\n    admin_server = {{admin_server_host|default(kdc_host_list[0]|trim(), True)}}\n{%- if kdc_host_list -%}\n{% for kdc_host in kdc_host_list %}\n    kdc = {{kdc_host|trim()}}\n{%- endfor -%}\n{% endif %}\n{%- endif %}\n{%- endif %}\n  }\n\n{# Append additional realm declarations below #}", 
            "conf_dir": "/etc"
        }, 
        "core-site": {
            "net.topology.script.file.name": "/etc/hadoop/conf/topology_script.py", 
            "hadoop.proxyuser.hdfs.groups": "*", 
            "fs.trash.interval": "360", 
            "ipc.server.tcpnodelay": "true", 
            "io.compression.codecs": "org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.SnappyCodec", 
            "ipc.client.idlethreshold": "8000", 
            "io.file.buffer.size": "131072", 
            "hadoop.proxyuser.ambari-server-test_cluster01.groups": "*", 
            "io.serializations": "org.apache.hadoop.io.serializer.WritableSerialization", 
            "hadoop.security.authentication": "kerberos", 
            "mapreduce.jobtracker.webinterface.trusted": "false", 
            "hadoop.proxyuser.hdfs.hosts": "*", 
            "hadoop.proxyuser.HTTP.groups": "users", 
            "fs.defaultFS": "hdfs://c6401.ambari.apache.org:8020", 
            "ha.failover-controller.active-standby-elector.zk.op.retries": "120", 
            "hadoop.security.key.provider.path": "kms://http@c6401.ambari.apache.org:9292/kms", 
            "hadoop.security.authorization": "true", 
            "hadoop.http.authentication.simple.anonymous.allowed": "true", 
            "ipc.client.connect.max.retries": "50", 
            "hadoop.security.auth_to_local": "RULE:[1:$1@$0](ambari-qa-test_cluster01@EXAMPLE.COM)s/.*/ambari-qa/\nRULE:[1:$1@$0](hdfs-test_cluster01@EXAMPLE.COM)s/.*/hdfs/\nRULE:[1:$1@$0](.*@EXAMPLE.COM)s/@.*//\nRULE:[2:$1@$0](dn@EXAMPLE.COM)s/.*/hdfs/\nRULE:[2:$1@$0](nn@EXAMPLE.COM)s/.*/hdfs/\nRULE:[2:$1@$0](rangeradmin@EXAMPLE.COM)s/.*/ranger/\nRULE:[2:$1@$0](rangertagsync@EXAMPLE.COM)s/.*/rangertagsync/\nRULE:[2:$1@$0](rangerusersync@EXAMPLE.COM)s/.*/rangerusersync/\nDEFAULT", 
            "hadoop.proxyuser.ambari-server-test_cluster01.hosts": "c6401.ambari.apache.org", 
            "ipc.client.connection.maxidletime": "30000"
        }, 
        "hadoop-env": {
            "keyserver_port": "", 
            "proxyuser_group": "users", 
            "hdfs_user_nproc_limit": "65536", 
            "hdfs_log_dir_prefix": "/var/log/hadoop", 
            "hdfs_user_nofile_limit": "128000", 
            "hdfs_user": "hdfs", 
            "hdfs_principal_name": "hdfs-test_cluster01@EXAMPLE.COM", 
            "keyserver_host": " ", 
            "namenode_opt_maxnewsize": "128m", 
            "hdfs_user_keytab": "/etc/security/keytabs/hdfs.headless.keytab", 
            "namenode_opt_maxpermsize": "256m", 
            "content": "\n# Set Hadoop-specific environment variables here.\n\n# The only required environment variable is JAVA_HOME.  All others are\n# optional.  When running a distributed configuration it is best to\n# set JAVA_HOME in this file, so that it is correctly defined on\n# remote nodes.\n\n# The java implementation to use.  Required.\nexport JAVA_HOME={{java_home}}\nexport HADOOP_HOME_WARN_SUPPRESS=1\n\n# Hadoop home directory\nexport HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\n# Hadoop Configuration Directory\n\n{# this is different for HDP1 #}\n# Path to jsvc required by secure HDP 2.0 datanode\nexport JSVC_HOME={{jsvc_path}}\n\n\n# The maximum amount of heap to use, in MB. Default is 1000.\nexport HADOOP_HEAPSIZE=\"{{hadoop_heapsize}}\"\n\nexport HADOOP_NAMENODE_INIT_HEAPSIZE=\"-Xms{{namenode_heapsize}}\"\n\n# Extra Java runtime options.  Empty by default.\nexport HADOOP_OPTS=\"-Djava.net.preferIPv4Stack=true ${HADOOP_OPTS}\"\n\n# Command specific options appended to HADOOP_OPTS when specified\nHADOOP_JOBTRACKER_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{jtnode_opt_newsize}} -XX:MaxNewSize={{jtnode_opt_maxnewsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xmx{{jtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dmapred.audit.logger=INFO,MRAUDIT -Dhadoop.mapreduce.jobsummary.logger=INFO,JSA ${HADOOP_JOBTRACKER_OPTS}\"\n\nHADOOP_TASKTRACKER_OPTS=\"-server -Xmx{{ttnode_heapsize}} -Dhadoop.security.logger=ERROR,console -Dmapred.audit.logger=ERROR,console ${HADOOP_TASKTRACKER_OPTS}\"\n\n{% if java_version < 8 %}\nSHARED_HADOOP_NAMENODE_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -XX:PermSize={{namenode_opt_permsize}} -XX:MaxPermSize={{namenode_opt_maxpermsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -Xms{{namenode_heapsize}} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT\"\nexport HADOOP_NAMENODE_OPTS=\"${SHARED_HADOOP_NAMENODE_OPTS} -XX:OnOutOfMemoryError=\\\"/usr/hdp/current/hadoop-hdfs-namenode/bin/kill-name-node\\\" -Dorg.mortbay.jetty.Request.maxFormContentSize=-1 ${HADOOP_NAMENODE_OPTS}\"\nexport HADOOP_DATANODE_OPTS=\"-server -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:ErrorFile=/var/log/hadoop/$USER/hs_err_pid%p.log -XX:NewSize=200m -XX:MaxNewSize=200m -XX:PermSize=128m -XX:MaxPermSize=256m -Xloggc:/var/log/hadoop/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{dtnode_heapsize}} -Xmx{{dtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_DATANODE_OPTS}\"\n\nexport HADOOP_SECONDARYNAMENODE_OPTS=\"${SHARED_HADOOP_NAMENODE_OPTS} -XX:OnOutOfMemoryError=\\\"/usr/hdp/current/hadoop-hdfs-secondarynamenode/bin/kill-secondary-name-node\\\" ${HADOOP_SECONDARYNAMENODE_OPTS}\"\n\n# The following applies to multiple commands (fs, dfs, fsck, distcp etc)\nexport HADOOP_CLIENT_OPTS=\"-Xmx${HADOOP_HEAPSIZE}m -XX:MaxPermSize=512m $HADOOP_CLIENT_OPTS\"\n\n{% else %}\nSHARED_HADOOP_NAMENODE_OPTS=\"-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -Xms{{namenode_heapsize}} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT\"\nexport HADOOP_NAMENODE_OPTS=\"${SHARED_HADOOP_NAMENODE_OPTS} -XX:OnOutOfMemoryError=\\\"/usr/hdp/current/hadoop-hdfs-namenode/bin/kill-name-node\\\" -Dorg.mortbay.jetty.Request.maxFormContentSize=-1 ${HADOOP_NAMENODE_OPTS}\"\nexport HADOOP_DATANODE_OPTS=\"-server -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:ErrorFile=/var/log/hadoop/$USER/hs_err_pid%p.log -XX:NewSize=200m -XX:MaxNewSize=200m -Xloggc:/var/log/hadoop/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{dtnode_heapsize}} -Xmx{{dtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_DATANODE_OPTS}\"\n\nexport HADOOP_SECONDARYNAMENODE_OPTS=\"${SHARED_HADOOP_NAMENODE_OPTS} -XX:OnOutOfMemoryError=\\\"/usr/hdp/current/hadoop-hdfs-secondarynamenode/bin/kill-secondary-name-node\\\" ${HADOOP_SECONDARYNAMENODE_OPTS}\"\n\n# The following applies to multiple commands (fs, dfs, fsck, distcp etc)\nexport HADOOP_CLIENT_OPTS=\"-Xmx${HADOOP_HEAPSIZE}m $HADOOP_CLIENT_OPTS\"\n{% endif %}\n\nHADOOP_NFS3_OPTS=\"-Xmx{{nfsgateway_heapsize}}m -Dhadoop.security.logger=ERROR,DRFAS ${HADOOP_NFS3_OPTS}\"\nHADOOP_BALANCER_OPTS=\"-server -Xmx{{hadoop_heapsize}}m ${HADOOP_BALANCER_OPTS}\"\n\n\n# On secure datanodes, user to run the datanode as after dropping privileges\nexport HADOOP_SECURE_DN_USER=${HADOOP_SECURE_DN_USER:-{{hadoop_secure_dn_user}}}\n\n# Extra ssh options.  Empty by default.\nexport HADOOP_SSH_OPTS=\"-o ConnectTimeout=5 -o SendEnv=HADOOP_CONF_DIR\"\n\n# Where log files are stored.  $HADOOP_HOME/logs by default.\nexport HADOOP_LOG_DIR={{hdfs_log_dir_prefix}}/$USER\n\n# History server logs\nexport HADOOP_MAPRED_LOG_DIR={{mapred_log_dir_prefix}}/$USER\n\n# Where log files are stored in the secure data environment.\nexport HADOOP_SECURE_DN_LOG_DIR={{hdfs_log_dir_prefix}}/$HADOOP_SECURE_DN_USER\n\n# File naming remote slave hosts.  $HADOOP_HOME/conf/slaves by default.\n# export HADOOP_SLAVES=${HADOOP_HOME}/conf/slaves\n\n# host:path where hadoop code should be rsync'd from.  Unset by default.\n# export HADOOP_MASTER=master:/home/$USER/src/hadoop\n\n# Seconds to sleep between slave commands.  Unset by default.  This\n# can be useful in large clusters, where, e.g., slave rsyncs can\n# otherwise arrive faster than the master can service them.\n# export HADOOP_SLAVE_SLEEP=0.1\n\n# The directory where pid files are stored. /tmp by default.\nexport HADOOP_PID_DIR={{hadoop_pid_dir_prefix}}/$USER\nexport HADOOP_SECURE_DN_PID_DIR={{hadoop_pid_dir_prefix}}/$HADOOP_SECURE_DN_USER\n\n# History server pid\nexport HADOOP_MAPRED_PID_DIR={{mapred_pid_dir_prefix}}/$USER\n\nYARN_RESOURCEMANAGER_OPTS=\"-Dyarn.server.resourcemanager.appsummary.logger=INFO,RMSUMMARY\"\n\n# A string representing this instance of hadoop. $USER by default.\nexport HADOOP_IDENT_STRING=$USER\n\n# The scheduling priority for daemon processes.  See 'man nice'.\n\n# export HADOOP_NICENESS=10\n\n# Add database libraries\nJAVA_JDBC_LIBS=\"\"\nif [ -d \"/usr/share/java\" ]; then\n  for jarFile in `ls /usr/share/java | grep -E \"(mysql|ojdbc|postgresql|sqljdbc)\" 2>/dev/null`\n  do\n    JAVA_JDBC_LIBS=${JAVA_JDBC_LIBS}:$jarFile\n  done\nfi\n\n# Add libraries to the hadoop classpath - some may not need a colon as they already include it\nexport HADOOP_CLASSPATH=${HADOOP_CLASSPATH}${JAVA_JDBC_LIBS}\n\n# Setting path to hdfs command line\nexport HADOOP_LIBEXEC_DIR={{hadoop_libexec_dir}}\n\n# Mostly required for hadoop 2.0\nexport JAVA_LIBRARY_PATH=${JAVA_LIBRARY_PATH}\n\nexport HADOOP_OPTS=\"-Dhdp.version=$HDP_VERSION $HADOOP_OPTS\"\n\n{% if is_datanode_max_locked_memory_set %}\n# Fix temporary bug, when ulimit from conf files is not picked up, without full relogin. \n# Makes sense to fix only when runing DN as root \nif [ \"$command\" == \"datanode\" ] && [ \"$EUID\" -eq 0 ] && [ -n \"$HADOOP_SECURE_DN_USER\" ]; then\n  ulimit -l {{datanode_max_locked_memory}}\nfi\n{% endif %}", 
            "namenode_heapsize": "1024m", 
            "namenode_opt_newsize": "128m", 
            "nfsgateway_heapsize": "1024", 
            "dtnode_heapsize": "1024m", 
            "hadoop_root_logger": "INFO,RFA", 
            "hadoop_heapsize": "1024", 
            "hadoop_pid_dir_prefix": "/var/run/hadoop", 
            "namenode_opt_permsize": "128m", 
            "hdfs_tmp_dir": "/tmp"
        }, 
        "zookeeper-log4j": {
            "content": "\n#\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#   http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing,\n# software distributed under the License is distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n# KIND, either express or implied.  See the License for the\n# specific language governing permissions and limitations\n# under the License.\n#\n#\n#\n\n#\n# ZooKeeper Logging Configuration\n#\n\n# DEFAULT: console appender only\nlog4j.rootLogger=INFO, CONSOLE\n\n# Example with rolling log file\n#log4j.rootLogger=DEBUG, CONSOLE, ROLLINGFILE\n\n# Example with rolling log file and tracing\n#log4j.rootLogger=TRACE, CONSOLE, ROLLINGFILE, TRACEFILE\n\n#\n# Log INFO level and above messages to the console\n#\nlog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender\nlog4j.appender.CONSOLE.Threshold=INFO\nlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout\nlog4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} - %-5p [%t:%C{1}@%L] - %m%n\n\n#\n# Add ROLLINGFILE to rootLogger to get log file output\n#    Log DEBUG level and above messages to a log file\nlog4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender\nlog4j.appender.ROLLINGFILE.Threshold=DEBUG\nlog4j.appender.ROLLINGFILE.File=zookeeper.log\n\n# Max log file size of 10MB\nlog4j.appender.ROLLINGFILE.MaxFileSize=10MB\n# uncomment the next line to limit number of backup files\n#log4j.appender.ROLLINGFILE.MaxBackupIndex=10\n\nlog4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout\nlog4j.appender.ROLLINGFILE.layout.ConversionPattern=%d{ISO8601} - %-5p [%t:%C{1}@%L] - %m%n\n\n\n#\n# Add TRACEFILE to rootLogger to get log file output\n#    Log DEBUG level and above messages to a log file\nlog4j.appender.TRACEFILE=org.apache.log4j.FileAppender\nlog4j.appender.TRACEFILE.Threshold=TRACE\nlog4j.appender.TRACEFILE.File=zookeeper_trace.log\n\nlog4j.appender.TRACEFILE.layout=org.apache.log4j.PatternLayout\n### Notice we are including log4j's NDC here (%x)\nlog4j.appender.TRACEFILE.layout.ConversionPattern=%d{ISO8601} - %-5p [%t:%C{1}@%L][%x] - %m%n"
        }, 
        "ssl-server": {
            "ssl.server.keystore.location": "/etc/security/serverKeys/keystore.jks", 
            "ssl.server.keystore.keypassword": "bigdata", 
            "ssl.server.truststore.location": "/etc/security/serverKeys/all.jks", 
            "ssl.server.keystore.password": "bigdata", 
            "ssl.server.truststore.password": "bigdata", 
            "ssl.server.truststore.type": "jks", 
            "ssl.server.keystore.type": "jks", 
            "ssl.server.truststore.reload.interval": "10000"
        }, 
        "ranger-site": {}, 
        "admin-log4j": {
            "content": "\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n\nlog4j.rootLogger = warn,xa_log_appender\n\n\n# xa_logger\nlog4j.appender.xa_log_appender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.xa_log_appender.file=${logdir}/xa_portal.log\nlog4j.appender.xa_log_appender.datePattern='.'yyyy-MM-dd\nlog4j.appender.xa_log_appender.append=true\nlog4j.appender.xa_log_appender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.xa_log_appender.layout.ConversionPattern=%d [%t] %-5p %C{6} (%F:%L) - %m%n\n# xa_log_appender : category and additivity\nlog4j.category.org.springframework=warn,xa_log_appender\nlog4j.additivity.org.springframework=false\n\nlog4j.category.org.apache.ranger=info,xa_log_appender\nlog4j.additivity.org.apache.ranger=false\n\nlog4j.category.xa=info,xa_log_appender\nlog4j.additivity.xa=false\n\n# perf_logger\nlog4j.appender.perf_appender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.perf_appender.file=${logdir}/ranger_admin_perf.log\nlog4j.appender.perf_appender.datePattern='.'yyyy-MM-dd\nlog4j.appender.perf_appender.append=true\nlog4j.appender.perf_appender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.perf_appender.layout.ConversionPattern=%d [%t] %m%n\n\n\n# sql_appender\nlog4j.appender.sql_appender=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.sql_appender.file=${logdir}/xa_portal_sql.log\nlog4j.appender.sql_appender.datePattern='.'yyyy-MM-dd\nlog4j.appender.sql_appender.append=true\nlog4j.appender.sql_appender.layout=org.apache.log4j.PatternLayout\nlog4j.appender.sql_appender.layout.ConversionPattern=%d [%t] %-5p %C{6} (%F:%L) - %m%n\n\n# sql_appender : category and additivity\nlog4j.category.org.hibernate.SQL=warn,sql_appender\nlog4j.additivity.org.hibernate.SQL=false\n\nlog4j.category.jdbc.sqlonly=fatal,sql_appender\nlog4j.additivity.jdbc.sqlonly=false\n\nlog4j.category.jdbc.sqltiming=warn,sql_appender\nlog4j.additivity.jdbc.sqltiming=false\n\nlog4j.category.jdbc.audit=fatal,sql_appender\nlog4j.additivity.jdbc.audit=false\n\nlog4j.category.jdbc.resultset=fatal,sql_appender\nlog4j.additivity.jdbc.resultset=false\n\nlog4j.category.jdbc.connection=fatal,sql_appender\nlog4j.additivity.jdbc.connection=false"
        }, 
        "tagsync-log4j": {
            "content": "\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n\nlog4j.rootLogger = info,logFile\n\n# logFile\nlog4j.appender.logFile=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.logFile.file=${logdir}/tagsync.log\nlog4j.appender.logFile.datePattern='.'yyyy-MM-dd\nlog4j.appender.logFile.layout=org.apache.log4j.PatternLayout\nlog4j.appender.logFile.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p %c{1} [%t] - %L %m%n\n\n# console\nlog4j.appender.console=org.apache.log4j.ConsoleAppender\nlog4j.appender.console.Target=System.out\nlog4j.appender.console.layout=org.apache.log4j.PatternLayout\nlog4j.appender.console.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p %c{1} [%t] - %L %m%n"
        }, 
        "ranger-hdfs-security": {
            "ranger.plugin.hdfs.policy.source.impl": "org.apache.ranger.admin.client.RangerAdminRESTClient", 
            "ranger.plugin.hdfs.service.name": "{{repo_name}}", 
            "ranger.plugin.hdfs.policy.cache.dir": "/etc/ranger/{{repo_name}}/policycache", 
            "ranger.plugin.hdfs.policy.pollIntervalMs": "30000", 
            "ranger.plugin.hdfs.policy.rest.url": "{{policymgr_mgr_url}}", 
            "ranger.plugin.hdfs.policy.rest.ssl.config.file": "/etc/hadoop/conf/ranger-policymgr-ssl.xml", 
            "xasecure.add-hadoop-authorization": "true"
        }, 
        "usersync-properties": {}, 
        "zookeeper-env": {
            "zk_server_heapsize": "1024m", 
            "zookeeper_keytab_path": "/etc/security/keytabs/zk.service.keytab", 
            "zk_user": "zookeeper", 
            "zk_log_dir": "/var/log/zookeeper", 
            "content": "\nexport JAVA_HOME={{java64_home}}\nexport ZOOKEEPER_HOME={{zk_home}}\nexport ZOO_LOG_DIR={{zk_log_dir}}\nexport ZOOPIDFILE={{zk_pid_file}}\nexport SERVER_JVMFLAGS={{zk_server_heapsize}}\nexport JAVA=$JAVA_HOME/bin/java\nexport CLASSPATH=$CLASSPATH:/usr/share/zookeeper/*\n\n{% if security_enabled %}\nexport SERVER_JVMFLAGS=\"$SERVER_JVMFLAGS -Djava.security.auth.login.config={{zk_server_jaas_file}}\"\nexport CLIENT_JVMFLAGS=\"$CLIENT_JVMFLAGS -Djava.security.auth.login.config={{zk_client_jaas_file}}\"\n{% endif %}", 
            "zk_pid_dir": "/var/run/zookeeper", 
            "zookeeper_principal_name": "zookeeper/_HOST@EXAMPLE.COM"
        },
        "infra-solr-env": {
            "infra_solr_datadir": "/opt/logsearch_solr/data",
            "infra_solr_keystore_location": "/etc/security/serverKeys/logsearch.keyStore.jks",
            "infra_solr_kerberos_name_rules": "DEFAULT",
            "infra_solr_user": "infra-solr",
            "infra_solr_maxmem": "1024",
            "content": "#!/bin/bash\n# Licensed to the Apache Software Foundation (ASF) under one or more\n# contributor license agreements. See the NOTICE file distributed with\n# this work for additional information regarding copyright ownership.\n# The ASF licenses this file to You under the Apache License, Version 2.0\n# (the \"License\"); you may not use this file except in compliance with\n# the License. You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n# By default the script will use JAVA_HOME to determine which java\n# to use, but you can set a specific path for Solr to use without\n# affecting other Java applications on your server/workstation.\nSOLR_JAVA_HOME={{java64_home}}\n\n# Increase Java Min/Max Heap as needed to support your indexing / query needs\nSOLR_JAVA_MEM=\"-Xms{{logsearch_solr_min_mem}}m -Xmx{{logsearch_solr_max_mem}}m\"\n\n# Enable verbose GC logging\nGC_LOG_OPTS=\"-verbose:gc -XX:+PrintHeapAtGC -XX:+PrintGCDetails \\\n-XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime\"\n\n# These GC settings have shown to work well for a number of common Solr workloads\nGC_TUNE=\"-XX:NewRatio=3 \\\n-XX:SurvivorRatio=4 \\\n-XX:TargetSurvivorRatio=90 \\\n-XX:MaxTenuringThreshold=8 \\\n-XX:+UseConcMarkSweepGC \\\n-XX:+UseParNewGC \\\n-XX:ConcGCThreads=4 -XX:ParallelGCThreads=4 \\\n-XX:+CMSScavengeBeforeRemark \\\n-XX:PretenureSizeThreshold=64m \\\n-XX:+UseCMSInitiatingOccupancyOnly \\\n-XX:CMSInitiatingOccupancyFraction=50 \\\n-XX:CMSMaxAbortablePrecleanTime=6000 \\\n-XX:+CMSParallelRemarkEnabled \\\n-XX:+ParallelRefProcEnabled\"\n\n# Set the ZooKeeper connection string if using an external ZooKeeper ensemble\n# e.g. host1:2181,host2:2181/chroot\n# Leave empty if not using SolrCloud\nZK_HOST=\"{{zookeeper_quorum}}{{logsearch_solr_znode}}\"\n\n# Set the ZooKeeper client timeout (for SolrCloud mode)\nZK_CLIENT_TIMEOUT=\"60000\"\n\n# By default the start script uses \"localhost\"; override the hostname here\n# for production SolrCloud environments to control the hostname exposed to cluster state\n#SOLR_HOST=\"192.168.1.1\"\n\n# By default the start script uses UTC; override the timezone if needed\n#SOLR_TIMEZONE=\"UTC\"\n\n# Set to true to activate the JMX RMI connector to allow remote JMX client applications\n# to monitor the JVM hosting Solr; set to \"false\" to disable that behavior\n# (false is recommended in production environments)\nENABLE_REMOTE_JMX_OPTS=\"true\"\n\n# The script will use SOLR_PORT+10000 for the RMI_PORT or you can set it here\nRMI_PORT={{logsearch_solr_jmx_port}}\n\n# Anything you add to the SOLR_OPTS variable will be included in the java\n# start command line as-is, in ADDITION to other options. If you specify the\n# -a option on start script, those options will be appended as well. Examples:\n#SOLR_OPTS=\"$SOLR_OPTS -Dsolr.autoSoftCommit.maxTime=3000\"\n#SOLR_OPTS=\"$SOLR_OPTS -Dsolr.autoCommit.maxTime=60000\"\n#SOLR_OPTS=\"$SOLR_OPTS -Dsolr.clustering.enabled=true\"\n\n# Location where the bin/solr script will save PID files for running instances\n# If not set, the script will create PID files in $SOLR_TIP/bin\nSOLR_PID_DIR={{logsearch_solr_piddir}}\n\n# Path to a directory where Solr creates index files, the specified directory\n# must contain a solr.xml; by default, Solr will use server/solr\nSOLR_HOME={{logsearch_solr_datadir}}\n\n# Solr provides a default Log4J configuration properties file in server/resources\n# however, you may want to customize the log settings and file appender location\n# so you can point the script to use a different log4j.properties file\nLOG4J_PROPS={{logsearch_solr_conf}}/log4j.properties\n\n# Location where Solr should write logs to; should agree with the file appender\n# settings in server/resources/log4j.properties\nSOLR_LOGS_DIR={{logsearch_solr_log_dir}}\n\n# Sets the port Solr binds to, default is 8983\nSOLR_PORT={{logsearch_solr_port}}\n\n# Be sure to update the paths to the correct keystore for your environment\n{% if logsearch_solr_ssl_enabled %}\nSOLR_SSL_KEY_STORE={{logsearch_solr_keystore_location}}\nSOLR_SSL_KEY_STORE_PASSWORD={{logsearch_solr_keystore_password}}\nSOLR_SSL_TRUST_STORE={{logsearch_solr_keystore_location}}\nSOLR_SSL_TRUST_STORE_PASSWORD={{logsearch_solr_keystore_password}}\nSOLR_SSL_NEED_CLIENT_AUTH=false\nSOLR_SSL_WANT_CLIENT_AUTH=false\n{% endif %}\n\n# Uncomment to set a specific SSL port (-Djetty.ssl.port=N); if not set\n# and you are using SSL, then the start script will use SOLR_PORT for the SSL port\n#SOLR_SSL_PORT=\n\n{% if security_enabled -%}\nSOLR_HOST=`hostname -f`\nSOLR_JAAS_FILE={{logsearch_solr_jaas_file}}\nSOLR_KERB_KEYTAB={{logsearch_solr_web_kerberos_keytab}}\nSOLR_KERB_PRINCIPAL={{logsearch_solr_web_kerberos_principal}}\nSOLR_KERB_NAME_RULES={{logsearch_solr_kerberos_name_rules}}\n\nSOLR_AUTHENTICATION_CLIENT_CONFIGURER=\"org.apache.solr.client.solrj.impl.Krb5HttpClientConfigurer\"\nSOLR_AUTHENTICATION_OPTS=\" -DauthenticationPlugin=org.apache.solr.security.KerberosPlugin -Djava.security.auth.login.config=$SOLR_JAAS_FILE -Dsolr.kerberos.principal=${SOLR_KERB_PRINCIPAL} -Dsolr.kerberos.keytab=${SOLR_KERB_KEYTAB} -Dsolr.kerberos.cookie.domain=${SOLR_HOST} -Dsolr.kerberos.name.rules=${SOLR_KERB_NAME_RULES}\"\n{% endif %}", 
            "infra_solr_pid_dir": "/var/run/ambari-infra-solr",
            "infra_solr_truststore_password": "bigdata",
            "infra_solr_truststore_type": "jks",
            "infra_solr_keystore_type": "jks",
            "infra_solr_log_dir": "/var/log/ambari-infra-solr",
            "infra_solr_web_kerberos_keytab": "/etc/security/keytabs/spnego.service.keytab",
            "infra_solr_ssl_enabled": "false",
            "infra_solr_client_log_dir": "/var/log/ambari-infra-solr-client",
            "infra_solr_web_kerberos_principal": "HTTP/_HOST@EXAMPLE.COM",
            "infra_solr_znode": "/ambari-solr",
            "infra_solr_keystore_password": "bigdata",
            "infra_solr_port": "8886",
            "infra_solr_kerberos_principal": "infra-solr/_HOST@EXAMPLE.COM",
            "infra_solr_jmx_port": "18886",
            "infra_solr_truststore_location": "/etc/security/serverKeys/infra-solr.trustStore.jks",
            "infra_solr_minmem": "512",
            "infra_solr_kerberos_keytab": "/etc/security/keytabs/infra-solr.service.keytab"
        },
        "infra-solr-client-log4j": {
            "infra_solr_client_log_dir" : "/var/log/ambari-infra-solr-client",
            "content": "# Copyright 2011 The Apache Software Foundation\n#\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nlog4j.rootLogger=INFO,file,stdout,stderr\n\nlog4j.appender.file=org.apache.log4j.RollingFileAppender\nlog4j.appender.file.File={{logsearch_solr_client_log}}\nlog4j.appender.file.MaxFileSize=80MB\nlog4j.appender.file.MaxBackupIndex=60\nlog4j.appender.file.layout=org.apache.log4j.PatternLayout\nlog4j.appender.file.layout.ConversionPattern=%d{DATE} %5p [%t] %c{1}:%L - %m%n\n\nlog4j.appender.stdout=org.apache.log4j.ConsoleAppender\nlog4j.appender.stdout.Threshold=INFO\nlog4j.appender.stdout.Target=System.out\nlog4j.appender.stdout.layout=org.apache.log4j.PatternLayout\nlog4j.appender.stdout.layout.ConversionPattern=%m%n\n\nlog4j.appender.stderr=org.apache.log4j.ConsoleAppender\nlog4j.appender.stderr.Threshold=ERROR\nlog4j.appender.stderr.Target=System.err\nlog4j.appender.stderr.layout=org.apache.log4j.PatternLayout\nlog4j.appender.stderr.layout.ConversionPattern=%m%n"
        },
        "cluster-env": {
            "security_enabled": "true", 
            "override_uid": "true", 
            "fetch_nonlocal_groups": "true", 
            "one_dir_per_partition": "true", 
            "repo_ubuntu_template": "{{package_type}} {{base_url}} {{components}}", 
            "ignore_groupsusers_create": "false", 
            "alerts_repeat_tolerance": "1", 
            "smokeuser_keytab": "/etc/security/keytabs/smokeuser.headless.keytab", 
            "kerberos_domain": "EXAMPLE.COM", 
            "manage_dirs_on_root": "true",
            "recovery_lifetime_max_count": "1024", 
            "recovery_type": "AUTO_START", 
            "ignore_bad_mounts": "false", 
            "recovery_window_in_minutes": "60", 
            "user_group": "hadoop", 
            "stack_tools": "{\n  \"stack_selector\": [\"hdp-select\", \"/usr/bin/hdp-select\", \"hdp-select\"],\n  \"conf_selector\": [\"conf-select\", \"/usr/bin/conf-select\", \"conf-select\"]\n}", 
            "recovery_retry_interval": "5", 
            "stack_features": "{\n  \"stack_features\": [\n    {\n      \"name\": \"snappy\",\n      \"description\": \"Snappy compressor/decompressor support\",\n      \"min_version\": \"2.0.0.0\",\n      \"max_version\": \"2.2.0.0\"\n    },\n    {\n      \"name\": \"lzo\",\n      \"description\": \"LZO libraries support\",\n      \"min_version\": \"2.2.1.0\"\n    },\n    {\n      \"name\": \"express_upgrade\",\n      \"description\": \"Express upgrade support\",\n      \"min_version\": \"2.1.0.0\"\n    },\n    {\n      \"name\": \"rolling_upgrade\",\n      \"description\": \"Rolling upgrade support\",\n      \"min_version\": \"2.2.0.0\"\n    },\n    {\n      \"name\": \"config_versioning\",\n      \"description\": \"Configurable versions support\",\n      \"min_version\": \"2.3.0.0\"\n    },\n    {\n      \"name\": \"datanode_non_root\",\n      \"description\": \"DataNode running as non-root support (AMBARI-7615)\",\n      \"min_version\": \"2.2.0.0\"\n    },\n    {\n      \"name\": \"remove_ranger_hdfs_plugin_env\",\n      \"description\": \"HDFS removes Ranger env files (AMBARI-14299)\",\n      \"min_version\": \"2.3.0.0\"\n    },\n    {\n      \"name\": \"ranger\",\n      \"description\": \"Ranger Service support\",\n      \"min_version\": \"2.2.0.0\"\n    },\n    {\n      \"name\": \"ranger_tagsync_component\",\n      \"description\": \"Ranger Tagsync component support (AMBARI-14383)\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"phoenix\",\n      \"description\": \"Phoenix Service support\",\n      \"min_version\": \"2.3.0.0\"\n    },\n    {\n      \"name\": \"nfs\",\n      \"description\": \"NFS support\",\n      \"min_version\": \"2.3.0.0\"\n    },\n    {\n      \"name\": \"tez_for_spark\",\n      \"description\": \"Tez dependency for Spark\",\n      \"min_version\": \"2.2.0.0\",\n      \"max_version\": \"2.3.0.0\"\n    },\n    {\n      \"name\": \"timeline_state_store\",\n      \"description\": \"Yarn application timeline-service supports state store property (AMBARI-11442)\",\n      \"min_version\": \"2.2.0.0\"\n    },\n    {\n      \"name\": \"copy_tarball_to_hdfs\",\n      \"description\": \"Copy tarball to HDFS support (AMBARI-12113)\",\n      \"min_version\": \"2.2.0.0\"\n    },\n    {\n      \"name\": \"spark_16plus\",\n      \"description\": \"Spark 1.6+\",\n      \"min_version\": \"2.4.0.0\"\n    },\n    {\n      \"name\": \"spark_thriftserver\",\n      \"description\": \"Spark Thrift Server\",\n      \"min_version\": \"2.3.2.0\"\n    },\n    {\n      \"name\": \"storm_kerberos\",\n      \"description\": \"Storm Kerberos support (AMBARI-7570)\",\n      \"min_version\": \"2.2.0.0\"\n    },\n    {\n      \"name\": \"storm_ams\",\n      \"description\": \"Storm AMS integration (AMBARI-10710)\",\n      \"min_version\": \"2.2.0.0\"\n    },\n    {\n      \"name\": \"create_kafka_broker_id\",\n      \"description\": \"Ambari should create Kafka Broker Id (AMBARI-12678)\",\n      \"min_version\": \"2.2.0.0\",\n      \"max_version\": \"2.3.0.0\"\n    },\n    {\n      \"name\": \"kafka_listeners\",\n      \"description\": \"Kafka listeners (AMBARI-10984)\",\n      \"min_version\": \"2.3.0.0\"\n    },\n    {\n      \"name\": \"kafka_kerberos\",\n      \"description\": \"Kafka Kerberos support (AMBARI-10984)\",\n      \"min_version\": \"2.3.0.0\"\n    },\n    {\n      \"name\": \"pig_on_tez\",\n      \"description\": \"Pig on Tez support (AMBARI-7863)\",\n      \"min_version\": \"2.2.0.0\"\n    },\n    {\n      \"name\": \"ranger_usersync_non_root\",\n      \"description\": \"Ranger Usersync as non-root user (AMBARI-10416)\",\n      \"min_version\": \"2.3.0.0\"\n    },\n    {\n      \"name\": \"ranger_audit_db_support\",\n      \"description\": \"Ranger Audit to DB support\",\n      \"min_version\": \"2.2.0.0\",\n      \"max_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"accumulo_kerberos_user_auth\",\n      \"description\": \"Accumulo Kerberos User Auth (AMBARI-10163)\",\n      \"min_version\": \"2.3.0.0\"\n    },\n    {\n      \"name\": \"knox_versioned_data_dir\",\n      \"description\": \"Use versioned data dir for Knox (AMBARI-13164)\",\n      \"min_version\": \"2.3.2.0\"\n    },\n    {\n      \"name\": \"knox_sso_topology\",\n      \"description\": \"Knox SSO Topology support (AMBARI-13975)\",\n      \"min_version\": \"2.3.8.0\"\n    },\n    {\n      \"name\": \"atlas_rolling_upgrade\",\n      \"description\": \"Rolling upgrade support for Atlas\",\n      \"min_version\": \"2.3.0.0\"\n    },\n    {\n      \"name\": \"oozie_admin_user\",\n      \"description\": \"Oozie install user as an Oozie admin user (AMBARI-7976)\",\n      \"min_version\": \"2.2.0.0\"\n    },\n    {\n      \"name\": \"oozie_create_hive_tez_configs\",\n      \"description\": \"Oozie create configs for Ambari Hive and Tez deployments (AMBARI-8074)\",\n      \"min_version\": \"2.2.0.0\"\n    },\n    {\n      \"name\": \"oozie_setup_shared_lib\",\n      \"description\": \"Oozie setup tools used to shared Oozie lib to HDFS (AMBARI-7240)\",\n      \"min_version\": \"2.2.0.0\"\n    },\n    {\n      \"name\": \"oozie_host_kerberos\",\n      \"description\": \"Oozie in secured clusters uses _HOST in Kerberos principal (AMBARI-9775)\",\n      \"min_version\": \"2.0.0.0\",\n      \"max_version\": \"2.2.0.0\"\n    },\n    {\n      \"name\": \"falcon_extensions\",\n      \"description\": \"Falcon Extension\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"hive_metastore_upgrade_schema\",\n      \"description\": \"Hive metastore upgrade schema support (AMBARI-11176)\",\n      \"min_version\": \"2.3.0.0\"\n    },\n    {\n      \"name\": \"hive_server_interactive\",\n      \"description\": \"Hive server interactive support (AMBARI-15573)\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"hive_webhcat_specific_configs\",\n      \"description\": \"Hive webhcat specific configurations support (AMBARI-12364)\",\n      \"min_version\": \"2.3.0.0\"\n    },\n    {\n      \"name\": \"hive_purge_table\",\n      \"description\": \"Hive purge table support (AMBARI-12260)\",\n      \"min_version\": \"2.3.0.0\"\n    },\n    {\n      \"name\": \"hive_server2_kerberized_env\",\n      \"description\": \"Hive server2 working on kerberized environment (AMBARI-13749)\",\n      \"min_version\": \"2.2.3.0\",\n      \"max_version\": \"2.2.5.0\"\n    },\n    {\n      \"name\": \"hive_env_heapsize\",\n      \"description\": \"Hive heapsize property defined in hive-env (AMBARI-12801)\",\n      \"min_version\": \"2.2.0.0\"\n    },\n    {\n      \"name\": \"ranger_kms_hsm_support\",\n      \"description\": \"Ranger KMS HSM support (AMBARI-15752)\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"ranger_log4j_support\",\n      \"description\": \"Ranger supporting log-4j properties (AMBARI-15681)\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"ranger_kerberos_support\",\n      \"description\": \"Ranger Kerberos support\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"hive_metastore_site_support\",\n      \"description\": \"Hive Metastore site support\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"ranger_usersync_password_jceks\",\n      \"description\": \"Saving Ranger Usersync credentials in jceks\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"ranger_install_infra_client\",\n      \"description\": \"LogSearch Service support\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"hbase_home_directory\",\n      \"description\": \"Hbase home directory in HDFS needed for HBASE backup\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"spark_livy\",\n      \"description\": \"Livy as slave component of spark\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"atlas_ranger_plugin_support\",\n      \"description\": \"Atlas Ranger plugin support\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"ranger_pid_support\",\n      \"description\": \"Ranger Service support pid generation AMBARI-16756\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"ranger_kms_pid_support\",\n      \"description\": \"Ranger KMS Service support pid generation\",\n      \"min_version\": \"2.5.0.0\"\n    }\n  ]\n}",
            "recovery_enabled": "true", 
            "smokeuser_principal_name": "ambari-qa-test_cluster01@EXAMPLE.COM", 
            "recovery_max_count": "6", 
            "stack_root": "/usr/hdp", 
            "repo_suse_rhel_template": "[{{repo_id}}]\nname={{repo_id}}\n{% if mirror_list %}mirrorlist={{mirror_list}}{% else %}baseurl={{base_url}}{% endif %}\n\npath=/\nenabled=1\ngpgcheck=0", 
            "ambari_principal_name": "ambari-server-test_cluster01@EXAMPLE.COM", 
            "managed_hdfs_resource_property_names": "", 
            "smokeuser": "ambari-qa"
        }
    }
}