{
    "localComponents": [
        "NAMENODE", 
        "SECONDARY_NAMENODE", 
        "ZOOKEEPER_SERVER", 
        "DATANODE", 
        "HDFS_CLIENT", 
        "ZOOKEEPER_CLIENT", 
        "RANGER_USERSYNC", 
        "RANGER_ADMIN", 
        "RANGER_TAGSYNC",
        "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": {}, 
        "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": {}, 
        "ranger-hdfs-plugin-properties": {}, 
        "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": "11-0", 
    "hostname": "c6401.ambari.apache.org", 
    "kerberosCommandParams": [], 
    "serviceName": "RANGER", 
    "role": "RANGER_ADMIN", 
    "forceRefreshConfigTagsBeforeExecution": [], 
    "requestId": 11, 
    "agentConfigParams": {
        "agent": {
            "parallel_execution": 0
        }
    }, 
    "clusterName": "c1", 
    "commandType": "EXECUTION_COMMAND", 
    "taskId": 31, 
    "roleParams": {}, 
    "configurationTags": {
        "ranger-hdfs-audit": {
            "tag": "version1466705299922"
        }, 
        "ssl-client": {
            "tag": "version1"
        }, 
        "ranger-admin-site": {
            "tag": "version1466705299949"
        }, 
        "ranger-hdfs-policymgr-ssl": {
            "tag": "version1466705299922"
        }, 
        "tagsync-application-properties": {
            "tag": "version1466705299949"
        }, 
        "ranger-env": {
            "tag": "version1466705299949"
        }, 
        "usersync-log4j": {
            "tag": "version1466705299949"
        }, 
        "admin-properties": {
            "tag": "version1466705299949"
        }, 
        "ranger-ugsync-site": {
            "tag": "version1466705299949"
        }, 
        "hdfs-site": {
            "tag": "version1"
        }, 
        "ranger-tagsync-site": {
            "tag": "version1466705299949"
        }, 
        "zoo.cfg": {
            "tag": "version1"
        }, 
        "hadoop-policy": {
            "tag": "version1"
        }, 
        "hdfs-log4j": {
            "tag": "version1"
        }, 
        "ranger-hdfs-plugin-properties": {
            "tag": "version1466705299922"
        }, 
        "core-site": {
            "tag": "version1"
        }, 
        "hadoop-env": {
            "tag": "version1"
        }, 
        "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": "version1"
        },
        "infra-solr-env": {
            "tag": "version1467098537360"
        },
        "infra-solr-client-log4j": {
            "tag": "version1467096917836"
        },
        "cluster-env": {
            "tag": "version1"
        }
    }, 
    "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": 0, 
    "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.admin.kerberos.cookie.domain": "",
            "ranger.kms.service.user.hdfs": "hdfs", 
            "ranger.spnego.kerberos.principal": "", 
            "ranger.ldap.ad.url": "{{ranger_ug_ldap_url}}", 
            "ranger.plugins.hive.serviceuser": "hive", 
            "ranger.lookup.kerberos.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": "", 
            "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": "", 
            "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": "", 
            "ranger.sso.providerurl": "", 
            "ranger.unixauth.service.hostname": "{{ugsync_host}}", 
            "ranger.admin.kerberos.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.entities.group.id": "ranger_entities_consumer", 
            "atlas.kafka.zookeeper.connect": "c6401.ambari.apache.org:2181", 
            "atlas.kafka.bootstrap.servers": "localhost:6667"
        }, 
        "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"
        }, 
        "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": "", 
            "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": "", 
            "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.namenode.startup.delay.block.deletion.sec": "3600", 
            "dfs.namenode.checkpoint.txns": "1000000", 
            "dfs.content-summary.limit": "5000", 
            "dfs.support.append": "true", 
            "dfs.datanode.address": "0.0.0.0:50010", 
            "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.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.heartbeat.interval": "3", 
            "dfs.replication": "3", 
            "dfs.namenode.handler.count": "50", 
            "dfs.namenode.checkpoint.dir": "/grid/0/hadoop/hdfs/namesecondary", 
            "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.datanode.https.address": "0.0.0.0:50475", 
            "dfs.namenode.write.stale.datanode.ratio": "1.0f", 
            "dfs.namenode.secondary.http-address": "c6401.ambari.apache.org:50090", 
            "nfs.exports.allowed.hosts": "* rw", 
            "dfs.datanode.http.address": "0.0.0.0:50075", 
            "dfs.datanode.du.reserved": "33011188224", 
            "dfs.client.read.shortcircuit.streams.cache.size": "4096", 
            "dfs.http.policy": "HTTP_ONLY", 
            "dfs.block.access.token.enable": "true", 
            "dfs.client.retry.policy.enabled": "false", 
            "dfs.namenode.name.dir.restore": "true", 
            "dfs.permissions.superusergroup": "hdfs", 
            "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": "", 
            "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": "", 
            "ranger.tagsync.kerberos.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"
        }, 
        "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"
        }, 
        "core-site": {
            "hadoop.proxyuser.root.hosts": "c6401.ambari.apache.org", 
            "io.serializations": "org.apache.hadoop.io.serializer.WritableSerialization", 
            "fs.trash.interval": "360", 
            "ha.failover-controller.active-standby-elector.zk.op.retries": "120", 
            "hadoop.http.authentication.simple.anonymous.allowed": "true", 
            "hadoop.security.authentication": "simple", 
            "hadoop.proxyuser.root.groups": "*", 
            "ipc.client.connection.maxidletime": "30000", 
            "hadoop.security.key.provider.path": "", 
            "mapreduce.jobtracker.webinterface.trusted": "false", 
            "hadoop.security.authorization": "false", 
            "net.topology.script.file.name": "/etc/hadoop/conf/topology_script.py", 
            "ipc.server.tcpnodelay": "true", 
            "ipc.client.connect.max.retries": "50", 
            "hadoop.security.auth_to_local": "DEFAULT", 
            "io.file.buffer.size": "131072", 
            "hadoop.proxyuser.hdfs.hosts": "*", 
            "hadoop.proxyuser.hdfs.groups": "*", 
            "ipc.client.idlethreshold": "8000", 
            "fs.defaultFS": "hdfs://c6401.ambari.apache.org:8020", 
            "io.compression.codecs": "org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.SnappyCodec"
        }, 
        "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", 
            "keyserver_host": " ", 
            "namenode_opt_maxnewsize": "128m", 
            "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_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_server_heapsize": "1024m", 
            "zk_pid_dir": "/var/run/zookeeper", 
            "zk_user": "zookeeper"
        },
        "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": "/infra-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/logsearch.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": "false", 
            "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", 
            "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", 
            "managed_hdfs_resource_property_names": "", 
            "smokeuser": "ambari-qa"
        }
    }
}