Support Questions
Find answers, ask questions, and share your expertise

Issue HIVE-CLIENT when trying to deploy a cluster with blueprint

Issue HIVE-CLIENT when trying to deploy a cluster with blueprint

Hi,

I am trying to automate a cluster deployment with BluePrint, however I am having an issue when blueprint try to install

HIVE-CLIENT: KeyError: 'jdbc_jar_name'

Hope your help.

5 REPLIES 5
Highlighted

Re: Issue HIVE-CLIENT when trying to deploy a cluster with blueprint

Highlighted

Re: Issue HIVE-CLIENT when trying to deploy a cluster with blueprint

@Namit Maheshwari

Yes :S I will close the other post

Highlighted

Re: Issue HIVE-CLIENT when trying to deploy a cluster with blueprint

Super Guru
@Ahmed ELJAMI

Please double check your Hive related blueprint configuration.

"jdbc_jar_name" property looks invalid to me

Highlighted

Re: Issue HIVE-CLIENT when trying to deploy a cluster with blueprint

@mradhakrishnan @Kuldeep Kulkarni

Thx for reply

here is the blueprint :

 {% raw %}
{
  "configurations" : [
    {
      "zoo.cfg" : {
        "properties_attributes" : { },
        "properties" : {
          "autopurge.purgeInterval" : "10",
          "dataDir" : "/usr/hadoop/zookeeper",
          "autopurge.snapRetainCount" : "10",
          "clientPort" : "2181",
          "initLimit" : "10",
          "tickTime" : "2000",
          "syncLimit" : "5"
        }
      }
    },
    {
      "ams-hbase-site" : {
        "properties_attributes" : {
          "final" : {
            "hbase.zookeeper.quorum" : "true"
          }
        },
        "properties" : {
          "hfile.block.cache.size" : "0.3",
          "phoenix.query.spoolThresholdBytes" : "20971520",
          "hbase.zookeeper.property.dataDir" : "${hbase.tmp.dir}/zookeeper",
          "hbase.regionserver.thread.compaction.large" : "2",
          "hbase.master.port" : "61300",
          "zookeeper.session.timeout.localHBaseCluster" : "120000",
          "phoenix.query.keepAliveMs" : "300000",
          "hbase.local.dir" : "${hbase.tmp.dir}/local",
          "phoenix.query.timeoutMs" : "300000",
          "hbase.regionserver.thread.compaction.small" : "3",
          "hbase.zookeeper.quorum" : "{{zookeeper_quorum_hosts}}",
          "hbase.client.scanner.timeout.period" : "300000",
          "hbase.regionserver.info.port" : "61330",
          "phoenix.query.rowKeyOrderSaltedTable" : "true",
          "phoenix.mutate.batchSize" : "10000",
          "zookeeper.znode.parent" : "/ams-hbase-unsecure",
          "hbase.master.info.port" : "61310",
{% endraw %}
          "hbase.rootdir" : "file://{{ var_opt_hosting }}/data/var/lib/ambari-metrics-collector/hbase",
{% raw %}
          "hbase.cluster.distributed" : "false",
          "hbase.hregion.majorcompaction" : "0",
          "hbase.hstore.flusher.count" : "2",
          "hbase.master.normalizer.class" : "org.apache.hadoop.hbase.master.normalizer.SimpleRegionNormalizer",
          "hbase.snapshot.enabled" : "false",
          "phoenix.spool.directory" : "${hbase.tmp.dir}/phoenix-spool",
          "phoenix.coprocessor.maxMetaDataCacheSize" : "20480000",
          "hbase.zookeeper.property.tickTime" : "6000",
          "hbase.zookeeper.leaderport" : "61388",
          "phoenix.sequence.saltBuckets" : "2",
          "hbase.hstore.blockingStoreFiles" : "200",
          "zookeeper.session.timeout" : "120000",
          "phoenix.coprocessor.maxServerCacheTimeToLiveMs" : "60000",
          "hbase.master.info.bindAddress" : "0.0.0.0",
          "hbase.regionserver.global.memstore.lowerLimit" : "0.3",
          "dfs.client.read.shortcircuit" : "true",
          "phoenix.query.maxGlobalMemoryPercentage" : "15",
          "hbase.hregion.memstore.flush.size" : "134217728",
          "hbase.hregion.max.filesize" : "4294967296",
          "phoenix.groupby.maxCacheSize" : "307200000",
          "hbase.master.wait.on.regionservers.mintostart" : "1",
          "hbase.regionserver.global.memstore.upperLimit" : "0.35",
          "hbase.normalizer.period" : "600000",
{% endraw %}
          "hbase.tmp.dir" : "{{ var_opt_hosting_log }}/var/lib/ambari-metrics-collector/hbase-tmp",
{% raw %}
          "hbase.client.scanner.caching" : "10000",
          "hbase.replication" : "false",
          "hbase.rpc.timeout" : "300000",
          "hbase.zookeeper.peerport" : "61288",
          "hbase.regionserver.port" : "61320",
          "hbase.zookeeper.property.clientPort" : "{{zookeeper_clientPort}}",
          "hbase.hregion.memstore.block.multiplier" : "4",
          "hbase.normalizer.enabled" : "false"
        }
      }
    },
    {
      "zookeeper-log4j" : {
        "properties_attributes" : { },
        "properties" : {
          "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"
        }
      }
    },
    {
      "pig-env" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\nJAVA_HOME={{java64_home}}\nHADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\nif [ -d \"/usr/lib/tez\" ]; then\n  PIG_OPTS=\"$PIG_OPTS -Dmapreduce.framework.name=yarn\"\nfi"
        }
      }
    },
    {
      "ranger-hdfs-policymgr-ssl" : {
        "properties_attributes" : { },
        "properties" : { }
      }
    },
    {
      "ranger-yarn-policymgr-ssl" : {
        "properties_attributes" : { },
        "properties" : { }
      }
    },
    {
      "hive-log4j2" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\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\nstatus = INFO\nname = HiveLog4j2\npackages = org.apache.hadoop.hive.ql.log\n\n# list of properties\nproperty.hive.log.level = INFO\nproperty.hive.root.logger = DRFA\nproperty.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name}\nproperty.hive.log.file = hive.log\n\n# list of all appenders\nappenders = console, DRFA\n\n# console appender\nappender.console.type = Console\nappender.console.name = console\nappender.console.target = SYSTEM_ERR\nappender.console.layout.type = PatternLayout\nappender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} [%t]: %p %c{2}: %m%n\n\n# daily rolling file appender\nappender.DRFA.type = RollingFile\nappender.DRFA.name = DRFA\nappender.DRFA.fileName = ${sys:hive.log.dir}/${sys:hive.log.file}\n# Use %pid in the filePattern to append process-id@host-name to the filename if you want separate log files for different CLI session\nappender.DRFA.filePattern = ${sys:hive.log.dir}/${sys:hive.log.file}.%d{yyyy-MM-dd}.gz\nappender.DRFA.layout.type = PatternLayout\nappender.DRFA.layout.pattern = %d{ISO8601} %-5p [%t]: %c{2} (%F:%M(%L)) - %m%n\nappender.DRFA.policies.type = Policies\nappender.DRFA.policies.time.type = TimeBasedTriggeringPolicy\nappender.DRFA.policies.time.interval = 1\nappender.DRFA.policies.time.modulate = true\nappender.DRFA.strategy.type = DefaultRolloverStrategy\nappender.DRFA.strategy.max = 30\n\n# list of all loggers\nloggers = NIOServerCnxn, ClientCnxnSocketNIO, DataNucleus, Datastore, JPOX\n\nlogger.NIOServerCnxn.name = org.apache.zookeeper.server.NIOServerCnxn\nlogger.NIOServerCnxn.level = WARN\n\nlogger.ClientCnxnSocketNIO.name = org.apache.zookeeper.ClientCnxnSocketNIO\nlogger.ClientCnxnSocketNIO.level = WARN\n\nlogger.DataNucleus.name = DataNucleus\nlogger.DataNucleus.level = ERROR\n\nlogger.Datastore.name = Datastore\nlogger.Datastore.level = ERROR\n\nlogger.JPOX.name = JPOX\nlogger.JPOX.level = ERROR\n\n# root logger\nrootLogger.level = ${sys:hive.log.level}\nrootLogger.appenderRefs = root\nrootLogger.appenderRef.root.ref = ${sys:hive.root.logger}"
        }
      }
    },
    {
      "ranger-hive-policymgr-ssl" : {
        "properties_attributes" : { },
        "properties" : { }
      }
    },
    {
      "hcat-env" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\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      JAVA_HOME={{java64_home}}\n      HCAT_PID_DIR={{hcat_pid_dir}}/\n      HCAT_LOG_DIR={{hcat_log_dir}}/\n      HCAT_CONF_DIR={{hcat_conf_dir}}\n      HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n      #DBROOT is the path where the connector jars are downloaded\n      DBROOT={{hcat_dbroot}}\n      USER={{hcat_user}}\n      METASTORE_PORT={{hive_metastore_port}}"
        }
      }
    },
    {
      "ssl-server" : {
        "properties_attributes" : { },
        "properties" : {
          "ssl.server.truststore.location" : "/etc/security/serverKeys/all.jks",
          "ssl.server.truststore.reload.interval" : "10000",
          "ssl.server.truststore.type" : "jks",
          "ssl.server.keystore.location" : "/etc/security/serverKeys/keystore.jks",
          "ssl.server.keystore.type" : "jks"
        }
      }
    },
    {
      "pig-properties" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\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# Pig configuration file. All values can be overwritten by command line\n# arguments; for a description of the properties, run\n#\n#     pig -h properties\n#\n\n############################################################################\n#\n# == Logging properties\n#\n\n# Location of pig log file. If blank, a file with a timestamped slug\n# ('pig_1399336559369.log') will be generated in the current working directory.\n#\n# pig.logfile=\n# pig.logfile=/tmp/pig-err.log\n\n# Log4j configuration file. Set at runtime with the -4 parameter. The source\n# distribution has a ./conf/log4j.properties.template file you can rename and\n# customize.\n#\n# log4jconf=./conf/log4j.properties\n\n# Verbose Output.\n# * false (default): print only INFO and above to screen\n# * true: Print all log messages to screen\n#\n# verbose=false\n\n# Omit timestamps on log messages. (default: false)\n#\n# brief=false\n\n# Logging level. debug=OFF|ERROR|WARN|INFO|DEBUG (default: INFO)\n#\n# debug=INFO\n\n# Roll up warnings across tasks, so that when millions of mappers suddenly cry\n# out in error they are partially silenced. (default, recommended: true)\n#\n# aggregate.warning=true\n\n# Should DESCRIBE pretty-print its schema?\n# * false (default): print on a single-line, suitable for pasting back in to your script\n# * true (recommended): prints on multiple lines with indentation, much more readable\n#\n# pig.pretty.print.schema=false\n\n# === Profiling UDFs  ===\n\n# Turn on UDF timers? This will cause two counters to be\n# tracked for every UDF and LoadFunc in your script: approx_microsecs measures\n# approximate time spent inside a UDF approx_invocations reports the approximate\n# number of times the UDF was invoked.\n#\n# * false (default): do not record timing information of UDFs.\n# * true: report UDF performance. Uses more counters, but gives more insight\n#   into script operation\n#\n# pig.udf.profile=false\n\n# Specify frequency of profiling (default: every 100th).\n# pig.udf.profile.frequency=100\n\n############################################################################\n#\n# == Site-specific Properties\n#\n\n# Execution Mode. Local mode is much faster, but only suitable for small amounts\n# of data. Local mode interprets paths on the local file system; Mapreduce mode\n# on the HDFS. Read more under 'Execution Modes' within the Getting Started\n# documentation.\n#\n# * mapreduce (default): use the Hadoop cluster defined in your Hadoop config files\n# * local: use local mode\n# * tez: use Tez on Hadoop cluster\n# * tez_local: use Tez local mode\n#\n# exectype=mapreduce\n\n# Bootstrap file with default statements to execute in every Pig job, similar to\n# .bashrc.  If blank, uses the file '.pigbootup' from your home directory; If a\n# value is supplied, that file is NOT loaded.  This does not do tilde expansion\n# -- you must supply the full path to the file.\n#\n# pig.load.default.statements=\n# pig.load.default.statements=/home/bob/.pigrc\n\n# Kill all waiting/running MR jobs upon a MR job failure? (default: false) If\n# false, jobs that can proceed independently will do so unless a parent stage\n# fails. If true, the failure of any stage in the script kills all jobs.\n#\n# stop.on.failure=false\n\n# File containing the pig script to run. Rarely set in the properties file.\n# Commandline: -f\n#\n# file=\n\n# Jarfile to load, colon separated. Rarely used.\n#\n# jar=\n\n# Register additional .jar files to use with your Pig script.\n# Most typically used as a command line option (see http://pig.apache.org/docs/r0.12.0/basic.html#register):\n#\n#     pig -Dpig.additional.jars=hdfs://nn.mydomain.com:9020/myjars/my.jar\n#\n# pig.additional.jars=<colon separated list of jars with optional wildcards>\n# pig.additional.jars=/usr/local/share/pig/pig/contrib/piggybank/java/piggybank.jar:/usr/local/share/pig/datafu/datafu-pig/build/libs/datafu-pig-1.2.1.jar\n\n# Specify potential packages to which a UDF or a group of UDFs belong,\n# eliminating the need to qualify the UDF on every call. See\n# http://pig.apache.org/docs/r0.12.0/udf.html#use-short-names\n#\n# Commandline use:\n#\n#     pig \\\n#       -Dpig.additional.jars=$PIG_HOME/contrib/piggybank/java/piggybank.jar:$PIG_HOME/../datafu/datafu-pig/build/libs/datafu-pig-1.2.1.jar \\\n#       -Dudf.import.list=org.apache.pig.piggybank.evaluation:datafu.pig.util \\\n#       happy_job.pig\n#\n# udf.import.list=<colon separated list of imports>\n# udf.import.list=org.apache.pig.piggybank.evaluation:datafu.pig.bags:datafu.pig.hash:datafu.pig.stats:datafu.pig.util\n\n#\n# Reuse jars across jobs run by the same user? (default: false) If enabled, jars\n# are placed in ${pig.user.cache.location}/${user.name}/.pigcache. Since most\n# jars change infrequently, this gives a minor speedup.\n#\n# pig.user.cache.enabled=false\n\n# Base path for storing jars cached by the pig.user.cache.enabled feature. (default: /tmp)\n#\n# pig.user.cache.location=/tmp\n\n# Replication factor for cached jars. If not specified mapred.submit.replication\n# is used, whose default is 10.\n#\n# pig.user.cache.replication=10\n\n# Default UTC offset. (default: the host's current UTC offset) Supply a UTC\n# offset in Java's timezone format: e.g., +08:00.\n#\n# pig.datetime.default.tz=\n\n############################################################################\n#\n# Memory impacting properties\n#\n\n# Amount of memory (as fraction of heap) allocated to bags before a spill is\n# forced. Default is 0.2, meaning 20% of available memory. Note that this memory\n# is shared across all large bags used by the application. See\n# http://pig.apache.org/docs/r0.12.0/perf.html#memory-management\n#\n# pig.cachedbag.memusage=0.2\n\n# Don't spill bags smaller than this size (bytes). Default: 5000000, or about\n# 5MB. Usually, the more spilling the longer runtime, so you might want to tune\n# it according to heap size of each task and so forth.\n#\n# pig.spill.size.threshold=5000000\n\n# EXPERIMENTAL: If a file bigger than this size (bytes) is spilled -- thus\n# freeing a bunch of ram -- tell the JVM to perform garbage collection.  This\n# should help reduce the number of files being spilled, but causes more-frequent\n# garbage collection. Default: 40000000 (about 40 MB)\n#\n# pig.spill.gc.activation.size=40000000\n\n# Maximum amount of data to replicate using the distributed cache when doing\n# fragment-replicated join. (default: 1000000000, about 1GB) Consider increasing\n# this in a production environment, but carefully.\n#\n# pig.join.replicated.max.bytes=1000000000\n\n# Fraction of heap available for the reducer to perform a skewed join. A low\n# fraction forces Pig to use more reducers, but increases the copying cost. See\n# http://pig.apache.org/docs/r0.12.0/perf.html#skewed-joins\n#\n# pig.skewedjoin.reduce.memusage=0.3\n\n#\n# === SchemaTuple ===\n#\n# The SchemaTuple feature (PIG-2632) uses a tuple's schema (when known) to\n# generate a custom Java class to hold records. Otherwise, tuples are loaded as\n# a plain list that is unaware of its contents' schema -- and so each element\n# has to be wrapped as a Java object on its own. This can provide more efficient\n# CPU utilization, serialization, and most of all memory usage.\n#\n# This feature is considered experimental and is off by default. You can\n# selectively enable it for specific operations using pig.schematuple.udf,\n# pig.schematuple.load, pig.schematuple.fr_join and pig.schematuple.merge_join\n#\n\n# Enable the SchemaTuple optimization in all available cases? (default: false; recommended: true)\n#\n# pig.schematuple=false\n\n# EXPERIMENTAL: Use SchemaTuples with UDFs (default: value of pig.schematuple).\n# pig.schematuple.udf=false\n\n# EXPERIMENTAL, CURRENTLY NOT IMPLEMENTED, but in the future, LoadFunc's with\n# known schemas should output SchemaTuples. (default: value of pig.schematuple)\n# pig.schematuple.load=false\n\n# EXPERIMENTAL: Use SchemaTuples in replicated joins. The potential memory\n# saving here is significant. (default: value of pig.schematuple)\n# pig.schematuple.fr_join=false\n\n# EXPERIMENTAL: Use SchemaTuples in merge joins. (default: value of pig.schematuple).\n# pig.schematuple.merge_join=false\n\n############################################################################\n#\n# Serialization options\n#\n\n# Omit empty part files from the output? (default: false)\n#\n# * false (default): reducers generates an output file, even if output is empty\n# * true (recommended): do not generate zero-byte part files\n#\n# The default behavior of MapReduce is to generate an empty file for no data, so\n# Pig follows that. But many small files can cause annoying extra map tasks and\n# put load on the HDFS, so consider setting this to 'true'\n#\n# pig.output.lazy=false\n\n#\n# === Tempfile Handling\n#\n\n# EXPERIMENTAL: Storage format for temporary files generated by intermediate\n# stages of Pig jobs. This can provide significant speed increases for certain\n# codecs, as reducing the amount of data transferred to and from disk can more\n# than make up for the cost of compression/compression. Recommend that you set\n# up LZO compression in Hadoop and specify tfile storage.\n#\n# Compress temporary files?\n# * false (default): do not compress\n# * true (recommended): compress temporary files.\n#\n# pig.tmpfilecompression=false\n# pig.tmpfilecompression=true\n\n# Tempfile storage container type.\n#\n# * tfile (default, recommended): more efficient, but only supports supports gz(gzip) and lzo compression.\n#   https://issues.apache.org/jira/secure/attachment/12396286/TFile%20Specification%2020081217.pdf\n# * seqfile: only supports gz(gzip), lzo, snappy, and bzip2 compression\n#\n# pig.tmpfilecompression.storage=tfile\n\n# Codec types for intermediate job files. tfile supports gz(gzip) and lzo;\n# seqfile support gz(gzip), lzo, snappy, bzip2\n#\n# * lzo (recommended with caveats): moderate compression, low cpu burden;\n#   typically leads to a noticeable speedup. Best default choice, but you must\n#   set up LZO independently due to license incompatibility\n# * snappy: moderate compression, low cpu burden; typically leads to a noticeable speedup..\n# * gz (default): higher compression, high CPU burden. Typically leads to a noticeable slowdown.\n# * bzip2: most compression, major CPU burden. Typically leads to a noticeable slowdown.\n#\n# pig.tmpfilecompression.codec=gzip\n\n#\n# === Split Combining\n#\n\n#\n# Should pig try to combine small files for fewer map tasks? This improves the\n# efficiency of jobs with many small input files, reduces the overhead on the\n# jobtracker, and reduces the number of output files a map-only job\n# produces. However, it only works with certain loaders and increases non-local\n# map tasks. See http://pig.apache.org/docs/r0.12.0/perf.html#combine-files\n#\n# * false (default, recommended): _do_ combine files\n# * true: do not combine files\n#\n# pig.noSplitCombination=false\n\n#\n# Size, in bytes, of data to be processed by a single map. Smaller files are\n# combined untill this size is reached. If unset, defaults to the file system's\n# default block size.\n#\n# pig.maxCombinedSplitSize=\n\n# ###########################################################################\n#\n# Execution options\n#\n\n# Should pig omit combiners? (default, recommended: false -- meaning pig _will_\n# use combiners)\n#\n# When combiners work well, they eliminate a significant amount of\n# data. However, if they do not eliminate much data -- say, a DISTINCT operation\n# that only eliminates 5% of the records -- they add a noticeable overhead to\n# the job. So the recommended default is false (use combiners), selectively\n# disabling them per-job:\n#\n#     pig -Dpig.exec.nocombiner=true distinct_but_not_too_much.pig\n#\n# pig.exec.nocombiner=false\n\n# EXPERIMENTAL: Aggregate records in map task before sending to the combiner?\n# (default: false, 10; recommended: true, 10). In cases where there is a massive\n# reduction of data in the aggregation step, pig can do a first pass of\n# aggregation before the data even leaves the mapper, saving much serialization\n# overhead. It's off by default but can give a major improvement to\n# group-and-aggregate operations. Pig skips partial aggregation unless reduction\n# is better than a factor of minReduction (default: 10). See\n# http://pig.apache.org/docs/r0.12.0/perf.html#hash-based-aggregation\n#\n# pig.exec.mapPartAgg=false\n# pig.exec.mapPartAgg.minReduction=10\n\n#\n# === Control how many reducers are used.\n#\n\n# Estimate number of reducers naively using a fixed amount of data per\n# reducer. Optimally, you have both fewer reducers than available reduce slots,\n# and reducers that are neither getting too little data (less than a half-GB or\n# so) nor too much data (more than 2-3 times the reducer child process max heap\n# size). The default of 1000000000 (about 1GB) is probably low for a production\n# cluster -- however it's much worse to set this too high (reducers spill many\n# times over in group-sort) than too low (delay waiting for reduce slots).\n#\n# pig.exec.reducers.bytes.per.reducer=1000000000\n\n#\n# Don't ever use more than this many reducers. (default: 999)\n#\n# pig.exec.reducers.max=999\n\n#\n# === Local mode for small jobs\n#\n\n# EXPERIMENTAL: Use local mode for small jobs? If true, jobs with input data\n# size smaller than pig.auto.local.input.maxbytes bytes and one or no reducers\n# are run in local mode, which is much faster. Note that file paths are still\n# interpreted as pig.exectype implies.\n#\n# * true (recommended): allow local mode for small jobs, which is much faster.\n# * false (default): always use pig.exectype.\n#\n# pig.auto.local.enabled=false\n\n#\n# Definition of a small job for the pig.auto.local.enabled feature. Only jobs\n# with less than this may bytes are candidates to run locally (default:\n# 100000000 bytes, about 1GB)\n#\n# pig.auto.local.input.maxbytes=100000000\n\n############################################################################\n#\n# Security Features\n#\n\n# Comma-delimited list of commands/operators that are disallowed. This security\n# feature can be used by administrators to block use of certain commands by\n# users.\n#\n# * <blank> (default): all commands and operators are allowed.\n# * fs,set (for example): block all filesystem commands and config changes from pig scripts.\n#\n# pig.blacklist=\n# pig.blacklist=fs,set\n\n# Comma-delimited list of the only commands/operators that are allowed. This\n# security feature can be used by administrators to block use of certain\n# commands by users.\n#\n# * <blank> (default): all commands and operators not on the pig.blacklist are allowed.\n# * load,store,filter,group: only LOAD, STORE, FILTER, GROUP\n#   from pig scripts. All other commands and operators will fail.\n#\n# pig.whitelist=\n# pig.whitelist=load,store,filter,group\n\n#####################################################################\n#\n# Advanced Site-specific Customizations\n#\n\n# Remove intermediate output files?\n#\n# * true (default, recommended): remove the files\n# * false: do NOT remove the files. You must clean them up yourself.\n#\n# Keeping them is useful for advanced debugging, but can be dangerous -- you\n# must clean them up yourself.  Inspect the intermediate outputs with\n#\n#     LOAD '/path/to/tmp/file' USING org.apache.pig.impl.io.TFileStorage();\n#\n# (Or ...SequenceFileInterStorage if pig.tmpfilecompression.storage is seqfile)\n#\n# pig.delete.temp.files=true\n\n# EXPERIMENTAL: A Pig Progress Notification Listener (PPNL) lets you wire pig's\n# progress into your visibility stack. To use a PPNL, supply the fully qualified\n# class name of a PPNL implementation. Note that only one PPNL can be set up, so\n# if you need several, write a PPNL that will chain them.\n#\n# See https://github.com/twitter/ambrose for a pretty awesome one of these\n#\n# pig.notification.listener=<fully qualified class name of a PPNL implementation>\n\n# String argument to pass to your PPNL constructor (optional). Only a single\n# string value is allowed. (default none)\n#\n# pig.notification.listener.arg=<somevalue>\n\n# EXPERIMENTAL: Class invoked to estimate the number of reducers to use.\n# (default: org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.InputSizeReducerEstimator)\n#\n# If you don't know how or why to write a PigReducerEstimator, you're unlikely\n# to use this. By default, the naive mapReduceLayer.InputSizeReducerEstimator is\n# used, but you can specify anything implementing the interface\n# org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigReducerEstimator\n#\n# pig.exec.reducer.estimator=<fully qualified class name of a PigReducerEstimator implementation>\n\n# Optional String argument to pass to your PigReducerEstimator. (default: none;\n# a single String argument is allowed).\n#\n# pig.exec.reducer.estimator.arg=<somevalue>\n\n# Class invoked to report the size of reducers output. By default, the reducers'\n# output is computed as the total size of output files. But not every storage is\n# file-based, and so this logic can be replaced by implementing the interface\n# org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigStatsOutputSizeReader\n# If you need to register more than one reader, you can register them as a comma\n# separated list. Every reader implements a boolean supports(POStore sto) method.\n# When there are more than one reader, they are consulted in order, and the\n# first one whose supports() method returns true will be used.\n#\n# pig.stats.output.size.reader=<fully qualified class name of a PigStatsOutputSizeReader implementation>\n# pig.stats.output.size.reader.unsupported=<comma separated list of StoreFuncs that are not supported by this reader>\n\n# By default, Pig retrieves TaskReports for every launched task to compute\n# various job statistics. But this can cause OOM if the number of tasks is\n# large. In such case, you can disable it by setting this property to true.\n# pig.stats.notaskreport=false\n\n#\n# Override hadoop configs programatically\n#\n# By default, Pig expects hadoop configs (hadoop-site.xml and core-site.xml)\n# to be present on the classpath. There are cases when these configs are\n# needed to be passed programatically, such as while using the PigServer API.\n# In such cases, you can override hadoop configs by setting the property\n# \"pig.use.overriden.hadoop.configs\".\n#\n# When this property is set to true, Pig ignores looking for hadoop configs\n# in the classpath and instead picks it up from Properties/Configuration\n# object passed to it.\n#\n# pig.use.overriden.hadoop.configs=false\n\n# Implied LoadFunc for the LOAD operation when no USING clause is\n# present. Supply the fully qualified class name of a LoadFunc\n# implementation. Note: setting this means you will have to modify most code\n# brought in from elsewhere on the web, as people generally omit the USING\n# clause for TSV files.\n#\n# * org.apache.pig.builtin.PigStorage (default): the traditional tab-separated-values LoadFunc\n# * my.custom.udfcollection.MyCustomLoadFunc (for example): use MyCustomLoadFunc instead\n#\n# pig.default.load.func=<fully qualified class name of a LoadFunc implementation>\n\n# The implied StoreFunc for STORE operations with no USING clause. Supply the\n# fully qualified class name of a StoreFunc implementation.\n#\n# * org.apache.pig.builtin.PigStorage (default): the traditional tab-separated-values StoreFunc.\n# * my.custom.udfcollection.MyCustomStoreFunc (for example): use MyCustomStoreFunc instead\n#\n# pig.default.store.func=<fully qualified class name of a StoreFunc implementation>\n\n# Recover jobs when the application master is restarted? (default: false). This\n# is a Hadoop 2 specific property; enable it to take advantage of AM recovery.\n#\n# pig.output.committer.recovery.support=true\n\n# Should scripts check to prevent multiple stores writing to the same location?\n# (default: false) When set to true, stops the execution of script right away.\n#\npig.location.check.strict=false\n\n# In addition to the fs-style commands (rm, ls, etc) Pig can now execute\n# SQL-style DDL commands, eg \"sql create table pig_test(name string, age int)\".\n# The only implemented backend is hcat, and luckily that's also the default.\n#\n# pig.sql.type=hcat\n\n# Path to the hcat executable, for use with pig.sql.type=hcat (default: null)\n#\nhcat.bin=/usr/local/hcat/bin/hcat\n\n###########################################################################\n#\n# Overrides for extreme environments\n#\n# (Most people won't have to adjust these parameters)\n#\n\n\n# Limit the pig script length placed in the jobconf xml. (default:10240)\n# Extremely long queries can waste space in the JobConf; since its contents are\n# only advisory, the default is fine unless you are retaining it for forensics.\n#\n# pig.script.max.size=10240\n\n# Disable use of counters by Pig. Note that the word 'counter' is singular here.\n#\n# * false (default, recommended): do NOT disable counters.\n# * true: disable counters. Set this to true only when your Pig job will\n#   otherwise die because of using more counters than hadoop configured limit\n#\n# pig.disable.counter=true\n\n# Sample size (per-mapper, in number of rows) the ORDER..BY operation's\n# RandomSampleLoader uses to estimate how your data should be\n# partitioned. (default, recommended: 100 rows per task) Increase this if you\n# have exceptionally large input splits and are unhappy with the reducer skew.\n#\n# pig.random.sampler.sample.size=100\n\n# Process an entire script at once, reducing the amount of work and number of\n# tasks? (default, recommended: true) See http://pig.apache.org/docs/r0.12.0/perf.html#multi-query-execution\n#\n# MultiQuery optimization is very useful, and so the recommended default is\n# true. You may find a that a script fails to compile under MultiQuery. If so,\n# disable it at runtime:\n#\n#     pig -no_multiquery script_that_makes_pig_sad.pig\n#\n# opt.multiquery=true\n\n# For small queries, fetch data directly from the HDFS. (default, recommended:\n# true). If you want to force Pig to launch a MR job, for example when you're\n# testing a live cluster, disable with the -N option. See PIG-3642.\n#\n# opt.fetch=true\n\n# Enable auto/grace parallelism in tez. These should be used by default unless\n# you encounter some bug in automatic parallelism. If pig.tez.auto.parallelism\n# to false, use 1 as default parallelism\npig.tez.auto.parallelism=true\npig.tez.grace.parallelism=true\n\n###########################################################################\n#\n# Streaming properties\n#\n\n# Define what properties will be set in the streaming environment. Just set this\n# property to a comma-delimited list of properties to set, and those properties\n# will be set in the environment.\n#\n# pig.streaming.environment=<comma-delimited list of propertes>\n\n# Specify a comma-delimited list of local files to ship to distributed cache for\n# streaming job.\n#\n# pig.streaming.ship.files=<comma-delimited list of local files>\n\n# Specify a comma-delimited list of remote files to cache on distributed cache\n# for streaming job.\n#\n# pig.streaming.cache.files=<comma-delimited list of remote files>\n\n# Specify the python command to be used for python streaming udf. By default,\n# python is used, but you can overwrite it with a non-default version such as\n# python2.7.\n#\n# pig.streaming.udf.python.command=python"
        }
      }
    },
    {
      "ranger-hive-plugin-properties" : {
        "properties_attributes" : { },
        "properties" : { }
      }
    },
    {
      "ranger-yarn-security" : {
        "properties_attributes" : { },
        "properties" : { }
      }
    },
    {
      "hadoop-policy" : {
        "properties_attributes" : { },
        "properties" : {
          "security.inter.datanode.protocol.acl" : "*",
          "security.refresh.usertogroups.mappings.protocol.acl" : "hadoop",
          "security.admin.operations.protocol.acl" : "hadoop",
          "security.client.datanode.protocol.acl" : "*",
          "security.datanode.protocol.acl" : "*",
          "security.inter.tracker.protocol.acl" : "*",
          "security.job.client.protocol.acl" : "*",
          "security.client.protocol.acl" : "*",
          "security.job.task.protocol.acl" : "*",
          "security.refresh.policy.protocol.acl" : "hadoop",
          "security.namenode.protocol.acl" : "*"
        }
      }
    },
    {
      "ranger-yarn-audit" : {
        "properties_attributes" : { },
        "properties" : { }
      }
    },
    {
      "spark-hive-site-override" : {
        "properties_attributes" : { },
        "properties" : {
          "hive.metastore.client.connect.retry.delay" : "5",
          "hive.server2.enable.doAs" : "false",
          "hive.server2.thrift.port" : "10015",
          "hive.server2.transport.mode" : "binary",
          "hive.metastore.client.socket.timeout" : "1800"
        }
      }
    },
    {
      "tez-interactive-site" : {
        "properties_attributes" : { },
        "properties" : {
          "tez.runtime.pipelined.sorter.lazy-allocate.memory" : "true",
          "tez.runtime.report.partition.stats" : "true",
          "tez.runtime.shuffle.fetch.buffer.percent" : "0.6",
          "tez.session.am.dag.submit.timeout.secs" : "3600",
          "tez.dag.recovery.enabled" : "false",
          "tez.am.resource.memory.mb" : "1536",
          "tez.lib.uris" : "/hdp/apps/${hdp.version}/tez_hive2/tez.tar.gz",
          "tez.grouping.node.local.only" : "true",
          "tez.runtime.shuffle.memory.limit.percent" : "0.25",
          "tez.runtime.pipelined-shuffle.enabled" : "false",
          "tez.runtime.shuffle.fetch.verify-disk-checksum" : "false"
        }
      }
    },
    {
      "core-site" : {
        "properties_attributes" : {
          "final" : {
            "fs.defaultFS" : "true"
          }
        },
        "properties" : {
          "fs.defaultFS" : "hdfs://%HOSTGROUP::master01%:8020",
          "ipc.server.tcpnodelay" : "true",
          "mapreduce.jobtracker.webinterface.trusted" : "false",
          "hadoop.security.auth_to_local" : "DEFAULT",
          "hadoop.proxyuser.root.groups" : "*",
          "ipc.client.idlethreshold" : "8000",
          "hadoop.proxyuser.hdfs.groups" : "*",
          "fs.trash.interval" : "360",
          "hadoop.http.authentication.simple.anonymous.allowed" : "true",
          "hadoop.security.authorization" : "false",
          "ipc.client.connection.maxidletime" : "30000",
          "hadoop.proxyuser.hcat.groups" : "*",
          "hadoop.proxyuser.livy.groups" : "*",
          "hadoop.proxyuser.hive.hosts" : "%HOSTGROUP::master01%",
          "hadoop.proxyuser.root.hosts" : "master01.net",
          "ha.failover-controller.active-standby-elector.zk.op.retries" : "120",
          "hadoop.security.authentication" : "simple",
          "hadoop.proxyuser.hdfs.hosts" : "*",
          "ipc.client.connect.max.retries" : "50",
          "io.file.buffer.size" : "131072",
          "hadoop.proxyuser.livy.hosts" : "*",
          "hadoop.proxyuser.hcat.hosts" : "%HOSTGROUP::master01%",
          "net.topology.script.file.name" : "/etc/hadoop/conf/topology_script.py",
          "io.compression.codecs" : "org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.SnappyCodec",
          "hadoop.proxyuser.hive.groups" : "*",
          "io.serializations" : "org.apache.hadoop.io.serializer.WritableSerialization"
        }
      }
    },
    {
      "hive-exec-log4j" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\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# Define some default values that can be overridden by system properties\n\nhive.log.threshold=ALL\nhive.root.logger=INFO,FA\nhive.log.dir=${java.io.tmpdir}/${user.name}\nhive.query.id=hadoop\nhive.log.file=${hive.query.id}.log\n\n# Define the root logger to the system property \"hadoop.root.logger\".\nlog4j.rootLogger=${hive.root.logger}, EventCounter\n\n# Logging Threshold\nlog4j.threshhold=${hive.log.threshold}\n\n#\n# File Appender\n#\n\nlog4j.appender.FA=org.apache.log4j.FileAppender\nlog4j.appender.FA.File=${hive.log.dir}/${hive.log.file}\nlog4j.appender.FA.layout=org.apache.log4j.PatternLayout\n\n# Pattern format: Date LogLevel LoggerName LogMessage\n#log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n\n# Debugging Pattern format\nlog4j.appender.FA.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#custom logging levels\n#log4j.logger.xxx=DEBUG\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.hive.shims.HiveEventCounter\n\n\nlog4j.category.DataNucleus=ERROR,FA\nlog4j.category.Datastore=ERROR,FA\nlog4j.category.Datastore.Schema=ERROR,FA\nlog4j.category.JPOX.Datastore=ERROR,FA\nlog4j.category.JPOX.Plugin=ERROR,FA\nlog4j.category.JPOX.MetaData=ERROR,FA\nlog4j.category.JPOX.Query=ERROR,FA\nlog4j.category.JPOX.General=ERROR,FA\nlog4j.category.JPOX.Enhancer=ERROR,FA\n\n\n# Silence useless ZK logs\nlog4j.logger.org.apache.zookeeper.server.NIOServerCnxn=WARN,FA\nlog4j.logger.org.apache.zookeeper.ClientCnxnSocketNIO=WARN,FA"
        }
      }
    },
    {
      "webhcat-env" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\n# The file containing the running pid\nPID_FILE={{webhcat_pid_file}}\n\nTEMPLETON_LOG_DIR={{templeton_log_dir}}/\n\n\nWEBHCAT_LOG_DIR={{templeton_log_dir}}/\n\n# The console error log\nERROR_LOG={{templeton_log_dir}}/webhcat-console-error.log\n\n# The console log\nCONSOLE_LOG={{templeton_log_dir}}/webhcat-console.log\n\n#TEMPLETON_JAR=templeton_jar_name\n\n#HADOOP_PREFIX=hadoop_prefix\n\n#HCAT_PREFIX=hive_prefix\n\n# Set HADOOP_HOME to point to a specific hadoop install directory\nexport HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}"
        }
      }
    },
    {
      "hdfs-site" : {
        "properties_attributes" : {
          "final" : {
            "dfs.webhdfs.enabled" : "true",
            "dfs.namenode.http-address" : "true",
            "dfs.support.append" : "true",
            "dfs.namenode.name.dir" : "true",
            "dfs.datanode.failed.volumes.tolerated" : "true",
            "dfs.datanode.data.dir" : "true"
          }
        },
        "properties" : {
          "dfs.replication" : "3",
          "dfs.namenode.audit.log.async" : "true",
          "dfs.namenode.checkpoint.dir" : "/usr/hadoop/hdfs/namesecondary",
          "dfs.namenode.avoid.read.stale.datanode" : "true",
          "dfs.journalnode.http-address" : "0.0.0.0:8480",
          "nfs.file.dump.dir" : "/tmp/.hdfs-nfs",
          "dfs.namenode.rpc-address" : "%HOSTGROUP::master01%:8020",
          "dfs.namenode.https-address" : "%HOSTGROUP::master01%:50470",
          "dfs.encrypt.data.transfer.cipher.suites" : "AES/CTR/NoPadding",
          "dfs.client.read.shortcircuit.streams.cache.size" : "4096",
          "dfs.hosts.exclude" : "/etc/hadoop/conf/dfs.exclude",
          "dfs.namenode.accesstime.precision" : "0",
          "dfs.namenode.fslock.fair" : "false",
          "dfs.permissions.enabled" : "true",
          "dfs.datanode.balance.bandwidthPerSec" : "6250000",
          "dfs.namenode.stale.datanode.interval" : "30000",
          "dfs.content-summary.limit" : "5000",
          "dfs.http.policy" : "HTTP_ONLY",
          "dfs.journalnode.https-address" : "0.0.0.0:8481",
          "dfs.datanode.du.reserved" : "1073741824",
          "dfs.domain.socket.path" : "/var/lib/hadoop-hdfs/dn_socket",
          "dfs.datanode.ipc.address" : "0.0.0.0:8010",
          "dfs.cluster.administrators" : " hdfs",
          "dfs.datanode.max.transfer.threads" : "4096",
          "dfs.namenode.handler.count" : "200",
          "dfs.https.port" : "50470",
          "dfs.replication.max" : "50",
          "dfs.client.read.shortcircuit" : "true",
          "dfs.webhdfs.enabled" : "true",
          "dfs.namenode.http-address" : "%HOSTGROUP::master01%:50070",
{% endraw %}
          "dfs.namenode.name.dir" : "{{ var_opt_hosting }}/root/usr/hadoop,{{ var_opt_hosting_log }}/hadoop/hdfs/namenode,{{ var_opt_hosting }}/hadoop/hdfs/namenode,{{ var_opt_hosting }}/data/hadoop/hdfs/namenode,{{ opt_hosting }}/hadoop/hdfs/namenode",
{% raw %}
          "dfs.namenode.avoid.write.stale.datanode" : "true",
          "dfs.datanode.https.address" : "0.0.0.0:50475",
          "dfs.datanode.failed.volumes.tolerated" : "0",
          "dfs.client.retry.policy.enabled" : "false",
          "dfs.namenode.startup.delay.block.deletion.sec" : "3600",
          "dfs.block.access.token.enable" : "true",
{% endraw %}
          "dfs.datanode.data.dir" : "{{ var_opt_hosting }}/hadoop/hdfs/data,{{ var_opt_hosting_tmp }}/hadoop/hdfs/data,{{ var_opt_hosting_log }}/hadoop/hdfs/data,{{ var_opt_hosting }}/data/hadoop/hdfs/data,{{ opt_hosting }}/hadoop/hdfs/data",
{% raw %}
          "dfs.permissions.superusergroup" : "hdfs",
          "dfs.blocksize" : "134217728",
          "dfs.namenode.checkpoint.edits.dir" : "${dfs.namenode.checkpoint.dir}",
          "nfs.exports.allowed.hosts" : "* rw",
          "dfs.datanode.address" : "0.0.0.0:50010",
          "dfs.blockreport.initialDelay" : "120",
          "dfs.datanode.data.dir.perm" : "750",
          "dfs.namenode.write.stale.datanode.ratio" : "1.0f",
          "dfs.namenode.name.dir.restore" : "true",
          "dfs.heartbeat.interval" : "3",
          "dfs.namenode.secondary.http-address" : "%HOSTGROUP::master02%:50090",
          "dfs.namenode.checkpoint.txns" : "1000000",
{% endraw %}
          "dfs.journalnode.edits.dir" : "{{ var_opt_hosting }}/data/hadoop/hdfs/journalnode",
{% raw %}
          "dfs.support.append" : "true",
          "fs.permissions.umask-mode" : "022",
          "dfs.namenode.safemode.threshold-pct" : "1",
          "dfs.namenode.checkpoint.period" : "21600",
          "dfs.datanode.http.address" : "0.0.0.0:50075"
        }
      }
    },
    {
      "yarn-site" : {
        "properties_attributes" : { },
        "properties" : {
          "yarn.resourcemanager.zk-address" : "%HOSTGROUP::master01%:2181,%HOSTGROUP::master02%:2181,%HOSTGROUP::master03%:2181",
          "yarn.nodemanager.container-monitor.interval-ms" : "3000",
          "yarn.timeline-service.entity-group-fs-store.active-dir" : "/ats/active/",
          "yarn.nodemanager.linux-container-executor.group" : "hadoop",
          "yarn.application.classpath" : "$HADOOP_CONF_DIR,/usr/hdp/current/hadoop-client/*,/usr/hdp/current/hadoop-client/lib/*,/usr/hdp/current/hadoop-hdfs-client/*,/usr/hdp/current/hadoop-hdfs-client/lib/*,/usr/hdp/current/hadoop-yarn-client/*,/usr/hdp/current/hadoop-yarn-client/lib/*",
          "yarn.admin.acl" : "yarn",
          "yarn.timeline-service.entity-group-fs-store.cleaner-interval-seconds" : "3600",
          "yarn.nodemanager.remote-app-log-dir-suffix" : "logs",
          "yarn.nodemanager.address" : "0.0.0.0:45454",
          "yarn.resourcemanager.webapp.address" : "%HOSTGROUP::master01%:8088",
          "yarn.timeline-service.leveldb-timeline-store.ttl-interval-ms" : "300000",
          "yarn.scheduler.maximum-allocation-vcores" : "6",
          "yarn.timeline-service.address" : "%HOSTGROUP::master03%:10200",
          "yarn.timeline-service.enabled" : "true",
          "yarn.nodemanager.aux-services" : "mapreduce_shuffle,spark_shuffle,spark2_shuffle",
          "yarn.nodemanager.resource.cpu-vcores" : "6",
          "yarn.resourcemanager.webapp.delegation-token-auth-filter.enabled" : "false",
          "yarn.nodemanager.aux-services.spark_shuffle.class" : "org.apache.spark.network.yarn.YarnShuffleService",
          "yarn.nodemanager.log-aggregation.debug-enabled" : "false",
          "yarn.resourcemanager.zk-acl" : "world:anyone:rwcda",
          "yarn.client.nodemanager-connect.max-wait-ms" : "60000",
          "yarn.http.policy" : "HTTP_ONLY",
          "yarn.timeline-service.http-authentication.simple.anonymous.allowed" : "true",
          "yarn.resourcemanager.zk-state-store.parent-path" : "/rmstore",
          "yarn.timeline-service.leveldb-timeline-store.start-time-read-cache-size" : "10000",
          "yarn.resourcemanager.admin.address" : "%HOSTGROUP::master01%:8141",
          "yarn.nodemanager.linux-container-executor.cgroups.strict-resource-usage" : "false",
          "yarn.resourcemanager.resource-tracker.address" : "%HOSTGROUP::master01%:8025",
          "yarn.nodemanager.delete.debug-delay-sec" : "0",
          "yarn.resourcemanager.fs.state-store.retry-policy-spec" : "2000, 500",
          "yarn.timeline-service.http-authentication.type" : "simple",
          "yarn.timeline-service.ttl-enable" : "true",
          "yarn.timeline-service.entity-group-fs-store.retain-seconds" : "604800",
          "yarn.log-aggregation.retain-seconds" : "2592000",
          "yarn.nodemanager.resource.memory-mb" : "12288",
          "yarn.nodemanager.disk-health-checker.min-healthy-disks" : "0.25",
          "yarn.node-labels.enabled" : "false",
          "yarn.nodemanager.log.retain-second" : "604800",
          "yarn.resourcemanager.connect.max-wait.ms" : "900000",
          "yarn.resourcemanager.zk-num-retries" : "1000",
          "yarn.scheduler.minimum-allocation-vcores" : "1",
          "yarn.nodemanager.aux-services.spark2_shuffle.classpath" : "{{stack_root}}/${hdp.version}/spark2/aux/*",
          "yarn.resourcemanager.scheduler.class" : "org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler",
          "yarn.resourcemanager.system-metrics-publisher.enabled" : "true",
          "yarn.timeline-service.client.max-retries" : "30",
          "yarn.timeline-service.client.retry-interval-ms" : "1000",
          "yarn.timeline-service.http-authentication.proxyuser.root.hosts" : "master01.net",
          "yarn.timeline-service.store-class" : "org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore",
          "yarn.timeline-service.bind-host" : "0.0.0.0",
          "yarn.nodemanager.container-metrics.unregister-delay-ms" : "60000",
          "yarn.timeline-service.generic-application-history.store-class" : "org.apache.hadoop.yarn.server.applicationhistoryservice.NullApplicationHistoryStore",
          "yarn.resourcemanager.fs.state-store.uri" : " ",
          "yarn.nodemanager.linux-container-executor.cgroups.hierarchy" : "hadoop-yarn",
          "yarn.resourcemanager.recovery.enabled" : "true",
          "yarn.timeline-service.entity-group-fs-store.group-id-plugin-classpath" : "/usr/hdp/${hdp.version}/spark/hdpLib/*",
          "yarn.resourcemanager.scheduler.address" : "%HOSTGROUP::master01%:8030",
          "yarn.timeline-service.leveldb-timeline-store.start-time-write-cache-size" : "10000",
          "yarn.timeline-service.ttl-ms" : "2678400000",
          "yarn.nodemanager.health-checker.script.timeout-ms" : "60000",
          "yarn.nodemanager.aux-services.spark2_shuffle.class" : "org.apache.spark.network.yarn.YarnShuffleService",
          "yarn.log.server.url" : "http://%HOSTGROUP::master02%:19888/jobhistory/logs",
          "yarn.timeline-service.entity-group-fs-store.group-id-plugin-classes" : "org.apache.tez.dag.history.logging.ats.TimelineCachePluginImpl,org.apache.spark.deploy.history.yarn.plugin.SparkATSPlugin",
          "yarn.resourcemanager.address" : "%HOSTGROUP::master01%:8050",
          "yarn.timeline-service.recovery.enabled" : "true",
          "yarn.nodemanager.recovery.dir" : "{{yarn_log_dir_prefix}}/nodemanager/recovery-state",
          "yarn.resourcemanager.scheduler.monitor.enable" : "false",
          "hadoop.registry.rm.enabled" : "true",
          "yarn.resourcemanager.bind-host" : "0.0.0.0",
          "yarn.nodemanager.log-aggregation.num-log-files-per-app" : "30",
          "yarn.nodemanager.admin-env" : "MALLOC_ARENA_MAX=$MALLOC_ARENA_MAX",
          "yarn.resourcemanager.system-metrics-publisher.dispatcher.pool-size" : "10",
          "yarn.acl.enable" : "false",
          "yarn.resourcemanager.ha.enabled" : "false",
          "yarn.client.nodemanager-connect.retry-interval-ms" : "10000",
          "yarn.timeline-service.version" : "1.5",
          "yarn.nodemanager.linux-container-executor.resources-handler.class" : "org.apache.hadoop.yarn.server.nodemanager.util.DefaultLCEResourcesHandler",
          "yarn.timeline-service.leveldb-timeline-store.read-cache-size" : "104857600",
{% endraw %}
          "yarn.nodemanager.local-dirs" : "{{ var_opt_hosting }}/data/hadoop/yarn/local",
{% raw %}
          "yarn.timeline-service.leveldb-timeline-store.path" : "/usr/hadoop/yarn/timeline",
          "yarn.nodemanager.recovery.enabled" : "true",
          "yarn.resourcemanager.zk-timeout-ms" : "10000",
          "yarn.resourcemanager.am.max-attempts" : "2",
          "yarn.resourcemanager.state-store.max-completed-applications" : "${yarn.resourcemanager.max-completed-applications}",
          "yarn.nodemanager.linux-container-executor.cgroups.mount" : "false",
          "yarn.node-labels.fs-store.root-dir" : "/system/yarn/node-labels",
          "yarn.node-labels.fs-store.retry-policy-spec" : "2000, 500",
          "yarn.nodemanager.aux-services.mapreduce_shuffle.class" : "org.apache.hadoop.mapred.ShuffleHandler",
          "yarn.log-aggregation-enable" : "true",
          "yarn.resourcemanager.work-preserving-recovery.enabled" : "true",
          "yarn.nodemanager.aux-services.spark_shuffle.classpath" : "{{stack_root}}/${hdp.version}/spark/aux/*",
          "yarn.resourcemanager.store.class" : "org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore",
          "yarn.timeline-service.http-authentication.proxyuser.root.groups" : "*",
          "yarn.timeline-service.leveldb-state-store.path" : "/usr/hadoop/yarn/timeline",
          "yarn.timeline-service.entity-group-fs-store.done-dir" : "/ats/done/",
          "yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage" : "90",
          "hadoop.registry.zk.quorum" : "%HOSTGROUP::master01%:2181,%HOSTGROUP::master02%:2181,%HOSTGROUP::master03%:2181",
          "yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds" : "3600",
          "yarn.nodemanager.container-executor.class" : "org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor",
          "yarn.resourcemanager.nodes.exclude-path" : "/etc/hadoop/conf/yarn.exclude",
          "yarn.timeline-service.state-store-class" : "org.apache.hadoop.yarn.server.timeline.recovery.LeveldbTimelineStateStore",
          "yarn.nodemanager.bind-host" : "0.0.0.0",
          "yarn.resourcemanager.hostname" : "%HOSTGROUP::master01%",
          "yarn.resourcemanager.connect.retry-interval.ms" : "30000",
          "yarn.timeline-service.webapp.address" : "%HOSTGROUP::master03%:8188",
          "yarn.scheduler.minimum-allocation-mb" : "1024",
          "yarn.timeline-service.entity-group-fs-store.summary-store" : "org.apache.hadoop.yarn.server.timeline.RollingLevelDBTimelineStore",
          "yarn.nodemanager.health-checker.interval-ms" : "135000",
          "yarn.nodemanager.disk-health-checker.min-free-space-per-disk-mb" : "1000",
          "yarn.resourcemanager.zk-retry-interval-ms" : "1000",
          "yarn.nodemanager.remote-app-log-dir" : "/app-logs",
          "yarn.scheduler.maximum-allocation-mb" : "12288",
          "yarn.nodemanager.vmem-check-enabled" : "false",
          "yarn.timeline-service.entity-group-fs-store.scan-interval-seconds" : "60",
          "yarn.resourcemanager.webapp.https.address" : "%HOSTGROUP::master01%:8090",
          "yarn.timeline-service.webapp.https.address" : "%HOSTGROUP::master03%:8190",
          "yarn.nodemanager.resource.percentage-physical-cpu-limit" : "80",
          "yarn.nodemanager.vmem-pmem-ratio" : "2.1",
          "yarn.nodemanager.log-aggregation.compression-type" : "gz",
          "yarn.resourcemanager.work-preserving-recovery.scheduling-wait-ms" : "10000",
{% endraw %}
          "yarn.nodemanager.log-dirs" : "{{ var_opt_hosting_log }}/hadoop/yarn/log"
{% raw %}
        }
      }
    },
    {
      "hiveserver2-site" : {
        "properties_attributes" : { },
        "properties" : {
          "hive.service.metrics.hadoop2.component" : "hiveserver2",
          "hive.security.authorization.enabled" : "false",
          "hive.metastore.metrics.enabled" : "true",
          "hive.service.metrics.reporter" : "JSON_FILE, JMX, HADOOP2",
{% endraw %}
          "hive.service.metrics.file.location" : "{{ var_opt_hosting_log }}/hive/hiveserver2-report.json"
{% raw %}
        }
      }
    },
    {
      "pig-log4j" : {
        "properties_attributes" : { },
        "properties" : {
          "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# ***** Set root logger level to DEBUG and its only appender to A.\nlog4j.logger.org.apache.pig=info, A\n\n# ***** A is set to be a ConsoleAppender.\nlog4j.appender.A=org.apache.log4j.ConsoleAppender\n# ***** A uses PatternLayout.\nlog4j.appender.A.layout=org.apache.log4j.PatternLayout\nlog4j.appender.A.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n"
        }
      }
    },
    {
      "livy-env" : {
        "properties_attributes" : { },
        "properties" : {
          "livy_group" : "livy",
{% endraw %}
          "livy_log_dir" : "{{ var_opt_hosting_log }}/livy",
{% raw %}
          "spark_home" : "/usr/hdp/current/spark-client",
          "content" : "\n            #!/usr/bin/env bash\n\n            # - SPARK_HOME      Spark which you would like to use in livy\n            # - HADOOP_CONF_DIR Directory containing the Hadoop / YARN configuration to use.\n            # - LIVY_LOG_DIR    Where log files are stored.  (Default: ${LIVY_HOME}/logs)\n            # - LIVY_PID_DIR    Where the pid file is stored. (Default: /tmp)\n            # - LIVY_SERVER_JAVA_OPTS  Java Opts for running livy server (You can set jvm related setting here, like jvm memory/gc algorithm and etc.)\n        export SPARK_HOME=/usr/hdp/current/spark-client\n        export JAVA_HOME={{java_home}}\n        export HADOOP_CONF_DIR=/etc/hadoop/conf\n        export LIVY_LOG_DIR={{livy_log_dir}}\n        export LIVY_PID_DIR={{livy_pid_dir}}\n        export LIVY_SERVER_JAVA_OPTS=\"-Xmx2g\"",
          "livy_pid_dir" : "/var/run/livy",
          "livy_user" : "livy"
        }
      }
    },
    {
      "hive-log4j" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\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# Define some default values that can be overridden by system properties\nhive.log.threshold=ALL\nhive.root.logger=INFO,DRFA\nhive.log.dir=${java.io.tmpdir}/${user.name}\nhive.log.file=hive.log\n\n# Define the root logger to the system property \"hadoop.root.logger\".\nlog4j.rootLogger=${hive.root.logger}, EventCounter\n\n# Logging Threshold\nlog4j.threshold=${hive.log.threshold}\n\n#\n# Daily Rolling File Appender\n#\n# Use the PidDailyerRollingFileAppend class instead if you want to use separate log files\n# for different CLI session.\n#\n# log4j.appender.DRFA=org.apache.hadoop.hive.ql.log.PidDailyRollingFileAppender\n\nlog4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender\n\nlog4j.appender.DRFA.File=${hive.log.dir}/${hive.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\n#log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n\n# Debugging Pattern format\nlog4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p [%t]: %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} [%t]: %p %c{2}: %m%n\nlog4j.appender.console.encoding=UTF-8\n\n#custom logging levels\n#log4j.logger.xxx=DEBUG\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.hive.shims.HiveEventCounter\n\n\nlog4j.category.DataNucleus=ERROR,DRFA\nlog4j.category.Datastore=ERROR,DRFA\nlog4j.category.Datastore.Schema=ERROR,DRFA\nlog4j.category.JPOX.Datastore=ERROR,DRFA\nlog4j.category.JPOX.Plugin=ERROR,DRFA\nlog4j.category.JPOX.MetaData=ERROR,DRFA\nlog4j.category.JPOX.Query=ERROR,DRFA\nlog4j.category.JPOX.General=ERROR,DRFA\nlog4j.category.JPOX.Enhancer=ERROR,DRFA\n\n\n# Silence useless ZK logs\nlog4j.logger.org.apache.zookeeper.server.NIOServerCnxn=WARN,DRFA\nlog4j.logger.org.apache.zookeeper.ClientCnxnSocketNIO=WARN,DRFA"
        }
      }
    },
    {
      "slider-client" : {
        "properties_attributes" : { },
        "properties" : { }
      }
    },
    {
      "spark-thrift-fairscheduler" : {
        "properties_attributes" : { },
        "properties" : {
          "fairscheduler_content" : "<?xml version=\"1.0\"?>\n            <allocations>\n            <pool name=\"default\">\n            <schedulingMode>FAIR</schedulingMode>\n            <weight>1</weight>\n            <minShare>2</minShare>\n            </pool>\n            </allocations>"
        }
      }
    },
    {
      "livy-conf" : {
        "properties_attributes" : { },
        "properties" : {
          "livy.environment" : "production",
          "livy.server.csrf_protection.enabled" : "true",
          "livy.impersonation.enabled" : "true",
          "livy.server.port" : "8998",
          "livy.server.session.timeout" : "3600000"
        }
      }
    },
    {
      "tez-env" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\n# Tez specific configuration\nexport TEZ_CONF_DIR={{config_dir}}\n\n# Set HADOOP_HOME to point to a specific hadoop install directory\nexport HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\n# The java implementation to use.\nexport JAVA_HOME={{java64_home}}",
          "tez_user" : "tez"
        }
      }
    },
    {
      "ams-hbase-security-site" : {
        "properties_attributes" : { },
        "properties" : {
          "hbase.coprocessor.master.classes" : "",
          "hbase.myclient.keytab" : "",
          "hadoop.security.authentication" : "",
          "hbase.myclient.principal" : "",
          "ams.zookeeper.keytab" : "",
          "hbase.zookeeper.property.jaasLoginRenew" : "",
          "hbase.regionserver.keytab.file" : "",
          "hbase.zookeeper.property.authProvider.1" : "",
          "hbase.regionserver.kerberos.principal" : "",
          "hbase.zookeeper.property.kerberos.removeHostFromPrincipal" : "",
          "hbase.coprocessor.region.classes" : "",
          "hbase.security.authentication" : "",
          "hbase.master.keytab.file" : "",
          "hbase.security.authorization" : "",
          "hbase.zookeeper.property.kerberos.removeRealmFromPrincipal" : "",
          "hbase.master.kerberos.principal" : "",
          "ams.zookeeper.principal" : ""
        }
      }
    },
    {
      "ranger-yarn-plugin-properties" : {
        "properties_attributes" : { },
        "properties" : { }
      }
    },
    {
      "yarn-env" : {
        "properties_attributes" : { },
        "properties" : {
          "yarn_cgroups_enabled" : "false",
          "yarn_user_nproc_limit" : "65536",
{% endraw %}
          "yarn_log_dir_prefix" : "{{ var_opt_hosting_log }}/hadoop-yarn",
{% raw %}
          "apptimelineserver_heapsize" : "1024",
          "yarn_user_nofile_limit" : "32768",
          "content" : "\n      export HADOOP_YARN_HOME={{hadoop_yarn_home}}\n      export YARN_LOG_DIR={{yarn_log_dir_prefix}}/$USER\n      export YARN_PID_DIR={{yarn_pid_dir_prefix}}/$USER\n      export HADOOP_LIBEXEC_DIR={{hadoop_libexec_dir}}\n      export JAVA_HOME={{java64_home}}\n      export JAVA_LIBRARY_PATH=\"${JAVA_LIBRARY_PATH}:{{hadoop_java_io_tmpdir}}\"\n\n      # We need to add the EWMA appender for the yarn daemons only;\n      # however, YARN_ROOT_LOGGER is shared by the yarn client and the\n      # daemons. This is restrict the EWMA appender to daemons only.\n      INVOKER=\"${0##*/}\"\n      if [ \"$INVOKER\" == \"yarn-daemon.sh\" ]; then\n        export YARN_ROOT_LOGGER=${YARN_ROOT_LOGGER:-INFO,EWMA,RFA}\n      fi\n\n      # User for YARN daemons\n      export HADOOP_YARN_USER=${HADOOP_YARN_USER:-yarn}\n\n      # resolve links - $0 may be a softlink\n      export YARN_CONF_DIR=\"${YARN_CONF_DIR:-$HADOOP_YARN_HOME/conf}\"\n\n      # some Java parameters\n      # export JAVA_HOME=/home/y/libexec/jdk1.6.0/\n      if [ \"$JAVA_HOME\" != \"\" ]; then\n      #echo \"run java in $JAVA_HOME\"\n      JAVA_HOME=$JAVA_HOME\n      fi\n\n      if [ \"$JAVA_HOME\" = \"\" ]; then\n      echo \"Error: JAVA_HOME is not set.\"\n      exit 1\n      fi\n\n      JAVA=$JAVA_HOME/bin/java\n      JAVA_HEAP_MAX=-Xmx1000m\n\n      # For setting YARN specific HEAP sizes please use this\n      # Parameter and set appropriately\n      YARN_HEAPSIZE={{yarn_heapsize}}\n\n      # check envvars which might override default args\n      if [ \"$YARN_HEAPSIZE\" != \"\" ]; then\n      JAVA_HEAP_MAX=\"-Xmx\"\"$YARN_HEAPSIZE\"\"m\"\n      fi\n\n      # Resource Manager specific parameters\n\n      # Specify the max Heapsize for the ResourceManager using a numerical value\n      # in the scale of MB. For example, to specify an jvm option of -Xmx1000m, set\n      # the value to 1000.\n      # This value will be overridden by an Xmx setting specified in either YARN_OPTS\n      # and/or YARN_RESOURCEMANAGER_OPTS.\n      # If not specified, the default value will be picked from either YARN_HEAPMAX\n      # or JAVA_HEAP_MAX with YARN_HEAPMAX as the preferred option of the two.\n      export YARN_RESOURCEMANAGER_HEAPSIZE={{resourcemanager_heapsize}}\n\n      # Specify the JVM options to be used when starting the ResourceManager.\n      # These options will be appended to the options specified as YARN_OPTS\n      # and therefore may override any similar flags set in YARN_OPTS\n      #export YARN_RESOURCEMANAGER_OPTS=\n\n      # Node Manager specific parameters\n\n      # Specify the max Heapsize for the NodeManager using a numerical value\n      # in the scale of MB. For example, to specify an jvm option of -Xmx1000m, set\n      # the value to 1000.\n      # This value will be overridden by an Xmx setting specified in either YARN_OPTS\n      # and/or YARN_NODEMANAGER_OPTS.\n      # If not specified, the default value will be picked from either YARN_HEAPMAX\n      # or JAVA_HEAP_MAX with YARN_HEAPMAX as the preferred option of the two.\n      export YARN_NODEMANAGER_HEAPSIZE={{nodemanager_heapsize}}\n\n      # Specify the max Heapsize for the timeline server using a numerical value\n      # in the scale of MB. For example, to specify an jvm option of -Xmx1000m, set\n      # the value to 1024.\n      # This value will be overridden by an Xmx setting specified in either YARN_OPTS\n      # and/or YARN_TIMELINESERVER_OPTS.\n      # If not specified, the default value will be picked from either YARN_HEAPMAX\n      # or JAVA_HEAP_MAX with YARN_HEAPMAX as the preferred option of the two.\n      export YARN_TIMELINESERVER_HEAPSIZE={{apptimelineserver_heapsize}}\n\n      # Specify the JVM options to be used when starting the NodeManager.\n      # These options will be appended to the options specified as YARN_OPTS\n      # and therefore may override any similar flags set in YARN_OPTS\n      #export YARN_NODEMANAGER_OPTS=\n\n      # so that filenames w/ spaces are handled correctly in loops below\n      IFS=\n\n\n      # default log directory and file\n      if [ \"$YARN_LOG_DIR\" = \"\" ]; then\n      YARN_LOG_DIR=\"$HADOOP_YARN_HOME/logs\"\n      fi\n      if [ \"$YARN_LOGFILE\" = \"\" ]; then\n      YARN_LOGFILE='yarn.log'\n      fi\n\n      # default policy file for service-level authorization\n      if [ \"$YARN_POLICYFILE\" = \"\" ]; then\n      YARN_POLICYFILE=\"hadoop-policy.xml\"\n      fi\n\n      # restore ordinary behaviour\n      unset IFS\n\n\n      YARN_OPTS=\"$YARN_OPTS -Dhadoop.log.dir=$YARN_LOG_DIR\"\n      YARN_OPTS=\"$YARN_OPTS -Dyarn.log.dir=$YARN_LOG_DIR\"\n      YARN_OPTS=\"$YARN_OPTS -Dhadoop.log.file=$YARN_LOGFILE\"\n      YARN_OPTS=\"$YARN_OPTS -Dyarn.log.file=$YARN_LOGFILE\"\n      YARN_OPTS=\"$YARN_OPTS -Dyarn.home.dir=$YARN_COMMON_HOME\"\n      YARN_OPTS=\"$YARN_OPTS -Dyarn.id.str=$YARN_IDENT_STRING\"\n      YARN_OPTS=\"$YARN_OPTS -Dhadoop.root.logger=${YARN_ROOT_LOGGER:-INFO,console}\"\n      YARN_OPTS=\"$YARN_OPTS -Dyarn.root.logger=${YARN_ROOT_LOGGER:-INFO,console}\"\n      export YARN_NODEMANAGER_OPTS=\"$YARN_NODEMANAGER_OPTS -Dnm.audit.logger=INFO,NMAUDIT\"\n      export YARN_RESOURCEMANAGER_OPTS=\"$YARN_RESOURCEMANAGER_OPTS -Drm.audit.logger=INFO,RMAUDIT\"\n      if [ \"x$JAVA_LIBRARY_PATH\" != \"x\" ]; then\n      YARN_OPTS=\"$YARN_OPTS -Djava.library.path=$JAVA_LIBRARY_PATH\"\n      fi\n      YARN_OPTS=\"$YARN_OPTS -Dyarn.policy.file=$YARN_POLICYFILE\"\n      YARN_OPTS=\"$YARN_OPTS -Djava.io.tmpdir={{hadoop_java_io_tmpdir}}\"",
          "is_supported_yarn_ranger" : "true",
          "service_check.queue.name" : "default",
          "resourcemanager_heapsize" : "1024",
          "yarn_pid_dir_prefix" : "/var/run/hadoop-yarn",
          "yarn_user" : "yarn",
          "min_user_id" : "1000",
          "yarn_heapsize" : "1024",
          "nodemanager_heapsize" : "1024"
        }
      }
    },
    {
      "ranger-hdfs-audit" : {
        "properties_attributes" : { },
        "properties" : { }
      }
    },
    {
      "ranger-hdfs-plugin-properties" : {
        "properties_attributes" : { },
        "properties" : { }
      }
    },
    {
      "beeline-log4j2" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\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\nstatus = INFO\nname = BeelineLog4j2\npackages = org.apache.hadoop.hive.ql.log\n\n# list of properties\nproperty.hive.log.level = WARN\nproperty.hive.root.logger = console\n\n# list of all appenders\nappenders = console\n\n# console appender\nappender.console.type = Console\nappender.console.name = console\nappender.console.target = SYSTEM_ERR\nappender.console.layout.type = PatternLayout\nappender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} [%t]: %p %c{2}: %m%n\n\n# list of all loggers\nloggers = HiveConnection\n\n# HiveConnection logs useful info for dynamic service discovery\nlogger.HiveConnection.name = org.apache.hive.jdbc.HiveConnection\nlogger.HiveConnection.level = INFO\n\n# root logger\nrootLogger.level = ${sys:hive.log.level}\nrootLogger.appenderRefs = root\nrootLogger.appenderRef.root.ref = ${sys:hive.root.logger}"
        }
      }
    },
    {
      "ams-env" : {
        "properties_attributes" : { },
        "properties" : {
          "ambari_metrics_user" : "ams",
{% endraw %}
          "metrics_monitor_log_dir" : "{{ var_opt_hosting_log }}/ambari-metrics-monitor",
{% raw %}
          "metrics_collector_heapsize" : "512",
          "metrics_collector_pid_dir" : "/var/run/ambari-metrics-collector",
{% endraw %}
          "metrics_collector_log_dir" : "{{ var_opt_hosting_log }}/ambari-metrics-collector",
{% raw %}
          "metrics_monitor_pid_dir" : "/var/run/ambari-metrics-monitor",
          "content" : "\n# Set environment variables here.\n\n# The java implementation to use. Java 1.6 required.\nexport JAVA_HOME={{java64_home}}\n\n# Collector Log directory for log4j\nexport AMS_COLLECTOR_LOG_DIR={{ams_collector_log_dir}}\n\n# Monitor Log directory for outfile\nexport AMS_MONITOR_LOG_DIR={{ams_monitor_log_dir}}\n\n# Collector pid directory\nexport AMS_COLLECTOR_PID_DIR={{ams_collector_pid_dir}}\n\n# Monitor pid directory\nexport AMS_MONITOR_PID_DIR={{ams_monitor_pid_dir}}\n\n# AMS HBase pid directory\nexport AMS_HBASE_PID_DIR={{hbase_pid_dir}}\n\n# AMS Collector heapsize\nexport AMS_COLLECTOR_HEAPSIZE={{metrics_collector_heapsize}}\n\n# HBase normalizer enabled\nexport AMS_HBASE_NORMALIZER_ENABLED={{ams_hbase_normalizer_enabled}}\n\n# HBase compaction policy enabled\nexport AMS_HBASE_FIFO_COMPACTION_ENABLED={{ams_hbase_fifo_compaction_enabled}}\n\n# HBase Tables Initialization check enabled\nexport AMS_HBASE_INIT_CHECK_ENABLED={{ams_hbase_init_check_enabled}}\n\n# AMS Collector options\nexport AMS_COLLECTOR_OPTS=\"-Djava.library.path=/usr/lib/ams-hbase/lib/hadoop-native\"\n{% if security_enabled %}\nexport AMS_COLLECTOR_OPTS=\"$AMS_COLLECTOR_OPTS -Djava.security.auth.login.config={{ams_collector_jaas_config_file}}\"\n{% endif %}\n\n# AMS Collector GC options\nexport AMS_COLLECTOR_GC_OPTS=\"-XX:+UseConcMarkSweepGC -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:{{ams_collector_log_dir}}/collector-gc.log-`date +'%Y%m%d%H%M'`\"\nexport AMS_COLLECTOR_OPTS=\"$AMS_COLLECTOR_OPTS $AMS_COLLECTOR_GC_OPTS\""
        }
      }
    },
    {
      "llap-cli-log4j2" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\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\nstatus = WARN\nname = LlapCliLog4j2\npackages = org.apache.hadoop.hive.ql.log\n\n# list of properties\nproperty.hive.log.level = INFO\nproperty.hive.root.logger = console\nproperty.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name}\nproperty.hive.log.file = llap-cli.log\n\n# list of all appenders\nappenders = console, DRFA\n\n# console appender\nappender.console.type = Console\nappender.console.name = console\nappender.console.target = SYSTEM_ERR\nappender.console.layout.type = PatternLayout\nappender.console.layout.pattern = %p %c{2}: %m%n\n\n# daily rolling file appender\nappender.DRFA.type = RollingRandomAccessFile\nappender.DRFA.name = DRFA\nappender.DRFA.fileName = ${sys:hive.log.dir}/${sys:hive.log.file}\n# Use %pid in the filePattern to append process-id@host-name to the filename if you want separate log files for different CLI session\nappender.DRFA.filePattern = ${sys:hive.log.dir}/${sys:hive.log.file}.%d{yyyy-MM-dd}\nappender.DRFA.layout.type = PatternLayout\nappender.DRFA.layout.pattern = %d{ISO8601} %5p [%t] %c{2}: %m%n\nappender.DRFA.policies.type = Policies\nappender.DRFA.policies.time.type = TimeBasedTriggeringPolicy\nappender.DRFA.policies.time.interval = 1\nappender.DRFA.policies.time.modulate = true\nappender.DRFA.strategy.type = DefaultRolloverStrategy\nappender.DRFA.strategy.max = 30\n\n# list of all loggers\nloggers = ZooKeeper, DataNucleus, Datastore, JPOX, HadoopConf\n\nlogger.ZooKeeper.name = org.apache.zookeeper\nlogger.ZooKeeper.level = WARN\n\nlogger.DataNucleus.name = DataNucleus\nlogger.DataNucleus.level = ERROR\n\nlogger.Datastore.name = Datastore\nlogger.Datastore.level = ERROR\n\nlogger.JPOX.name = JPOX\nlogger.JPOX.level = ERROR\n\nlogger.HadoopConf.name = org.apache.hadoop.conf.Configuration\nlogger.HadoopConf.level = ERROR\n\n# root logger\nrootLogger.level = ${sys:hive.log.level}\nrootLogger.appenderRefs = root, DRFA\nrootLogger.appenderRef.root.ref = ${sys:hive.root.logger}\nrootLogger.appenderRef.DRFA.ref = DRFA"
        }
      }
    },
    {
      "llap-daemon-log4j" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\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# This is the log4j2 properties file used by llap-daemons. There's several loggers defined, which\n# can be selected while configuring LLAP.\n# Based on the one selected - UI links etc need to be manipulated in the system.\n# Note: Some names and logic is common to this file and llap LogHelpers. Make sure to change that\n# as well, if changing this file.\n\nstatus = INFO\nname = LlapDaemonLog4j2\npackages = org.apache.hadoop.hive.ql.log\n\n# list of properties\nproperty.llap.daemon.log.level = INFO\nproperty.llap.daemon.root.logger = console\nproperty.llap.daemon.log.dir = .\nproperty.llap.daemon.log.file = llapdaemon.log\nproperty.llap.daemon.historylog.file = llapdaemon_history.log\nproperty.llap.daemon.log.maxfilesize = 256MB\nproperty.llap.daemon.log.maxbackupindex = 240\n\n# list of all appenders\nappenders = console, RFA, HISTORYAPPENDER, query-routing\n\n# console appender\nappender.console.type = Console\nappender.console.name = console\nappender.console.target = SYSTEM_ERR\nappender.console.layout.type = PatternLayout\nappender.console.layout.pattern = %d{ISO8601} %5p [%t (%X{fragmentId})] %c{2}: %m%n\n\n# rolling file appender\nappender.RFA.type = RollingRandomAccessFile\nappender.RFA.name = RFA\nappender.RFA.fileName = ${sys:llap.daemon.log.dir}/${sys:llap.daemon.log.file}\nappender.RFA.filePattern = ${sys:llap.daemon.log.dir}/${sys:llap.daemon.log.file}_%d{yyyy-MM-dd-HH}_%i.done\nappender.RFA.layout.type = PatternLayout\nappender.RFA.layout.pattern = %d{ISO8601} %-5p [%t (%X{fragmentId})] %c: %m%n\nappender.RFA.policies.type = Policies\nappender.RFA.policies.time.type = TimeBasedTriggeringPolicy\nappender.RFA.policies.time.interval = 1\nappender.RFA.policies.time.modulate = true\nappender.RFA.policies.size.type = SizeBasedTriggeringPolicy\nappender.RFA.policies.size.size = ${sys:llap.daemon.log.maxfilesize}\nappender.RFA.strategy.type = DefaultRolloverStrategy\nappender.RFA.strategy.max = ${sys:llap.daemon.log.maxbackupindex}\n\n# history file appender\nappender.HISTORYAPPENDER.type = RollingRandomAccessFile\nappender.HISTORYAPPENDER.name = HISTORYAPPENDER\nappender.HISTORYAPPENDER.fileName = ${sys:llap.daemon.log.dir}/${sys:llap.daemon.historylog.file}\nappender.HISTORYAPPENDER.filePattern = ${sys:llap.daemon.log.dir}/${sys:llap.daemon.historylog.file}_%d{yyyy-MM-dd}_%i.done\nappender.HISTORYAPPENDER.layout.type = PatternLayout\nappender.HISTORYAPPENDER.layout.pattern = %m%n\nappender.HISTORYAPPENDER.policies.type = Policies\nappender.HISTORYAPPENDER.policies.size.type = SizeBasedTriggeringPolicy\nappender.HISTORYAPPENDER.policies.size.size = ${sys:llap.daemon.log.maxfilesize}\nappender.HISTORYAPPENDER.policies.time.type = TimeBasedTriggeringPolicy\nappender.HISTORYAPPENDER.policies.time.interval = 1\nappender.HISTORYAPPENDER.policies.time.modulate = true\nappender.HISTORYAPPENDER.strategy.type = DefaultRolloverStrategy\nappender.HISTORYAPPENDER.strategy.max = ${sys:llap.daemon.log.maxbackupindex}\n\n# queryId based routing file appender\nappender.query-routing.type = Routing\nappender.query-routing.name = query-routing\nappender.query-routing.routes.type = Routes\nappender.query-routing.routes.pattern = $${ctx:queryId}\n#Purge polciy for query-based Routing Appender\nappender.query-routing.purgePolicy.type = LlapRoutingAppenderPurgePolicy\n# Note: Do not change this name without changing the corresponding entry in LlapConstants\nappender.query-routing.purgePolicy.name = llapLogPurgerQueryRouting\n# default route\nappender.query-routing.routes.route-default.type = Route\nappender.query-routing.routes.route-default.key = $${ctx:queryId}\nappender.query-routing.routes.route-default.ref = RFA\n# queryId based route\nappender.query-routing.routes.route-mdc.type = Route\nappender.query-routing.routes.route-mdc.file-mdc.type = LlapWrappedAppender\nappender.query-routing.routes.route-mdc.file-mdc.name = IrrelevantName-query-routing\nappender.query-routing.routes.route-mdc.file-mdc.app.type = RandomAccessFile\nappender.query-routing.routes.route-mdc.file-mdc.app.name = file-mdc\nappender.query-routing.routes.route-mdc.file-mdc.app.fileName = ${sys:llap.daemon.log.dir}/${ctx:queryId}-${ctx:dagId}.log\nappender.query-routing.routes.route-mdc.file-mdc.app.layout.type = PatternLayout\nappender.query-routing.routes.route-mdc.file-mdc.app.layout.pattern = %d{ISO8601} %5p [%t (%X{fragmentId})] %c{2}: %m%n\n\n# list of all loggers\nloggers = NIOServerCnxn, ClientCnxnSocketNIO, DataNucleus, Datastore, JPOX, HistoryLogger, LlapIoImpl, LlapIoOrc, LlapIoCache, LlapIoLocking\n\nlogger.LlapIoImpl.name = LlapIoImpl\nlogger.LlapIoImpl.level = INFO\n\nlogger.LlapIoOrc.name = LlapIoOrc\nlogger.LlapIoOrc.level = WARN\n\nlogger.LlapIoCache.name = LlapIoCache\nlogger.LlapIOCache.level = WARN\n\nlogger.LlapIoLocking.name = LlapIoLocking\nlogger.LlapIoLocking.level = WARN\n\nlogger.NIOServerCnxn.name = org.apache.zookeeper.server.NIOServerCnxn\nlogger.NIOServerCnxn.level = WARN\n\nlogger.ClientCnxnSocketNIO.name = org.apache.zookeeper.ClientCnxnSocketNIO\nlogger.ClientCnxnSocketNIO.level = WARN\n\nlogger.DataNucleus.name = DataNucleus\nlogger.DataNucleus.level = ERROR\n\nlogger.Datastore.name = Datastore\nlogger.Datastore.level = ERROR\n\nlogger.JPOX.name = JPOX\nlogger.JPOX.level = ERROR\n\nlogger.HistoryLogger.name = org.apache.hadoop.hive.llap.daemon.HistoryLogger\nlogger.HistoryLogger.level = INFO\nlogger.HistoryLogger.additivity = false\nlogger.HistoryLogger.appenderRefs = HistoryAppender\nlogger.HistoryLogger.appenderRef.HistoryAppender.ref = HISTORYAPPENDER\n\n# root logger\nrootLogger.level = ${sys:llap.daemon.log.level}\nrootLogger.appenderRefs = root\nrootLogger.appenderRef.root.ref = ${sys:llap.daemon.root.logger}"
        }
      }
    },
    {
      "capacity-scheduler" : {
        "properties_attributes" : { },
        "properties" : {
          "capacity-scheduler" : "null",
          "yarn.scheduler.capacity.root.accessible-node-labels" : "*",
          "yarn.scheduler.capacity.default.minimum-user-limit-percent" : "100",
          "yarn.scheduler.capacity.maximum-am-resource-percent" : "0.2",
          "yarn.scheduler.capacity.root.acl_administer_queue" : "*",
          "yarn.scheduler.capacity.root.default.acl_administer_jobs" : "*",
          "yarn.scheduler.capacity.resource-calculator" : "org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator",
          "yarn.scheduler.capacity.root.default.capacity" : "100",
          "yarn.scheduler.capacity.root.default.user-limit-factor" : "1",
          "yarn.scheduler.capacity.root.queues" : "default",
          "yarn.scheduler.capacity.root.capacity" : "100",
          "yarn.scheduler.capacity.root.default.acl_submit_applications" : "*",
          "yarn.scheduler.capacity.root.default.maximum-capacity" : "100",
          "yarn.scheduler.capacity.node-locality-delay" : "40",
          "yarn.scheduler.capacity.maximum-applications" : "10000",
          "yarn.scheduler.capacity.root.default.state" : "RUNNING"
        }
      }
    },
    {
      "livy-spark-blacklist" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\n            #\n            # Configuration override / blacklist. Defines a list of properties that users are not allowed\n            # to override when starting Spark sessions.\n            #\n            # This file takes a list of property names (one per line). Empty lines and lines starting with \"#\"\n            # are ignored.\n            #"
        }
      }
    },
    {
      "webhcat-log4j" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\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# Define some default values that can be overridden by system properties\nwebhcat.root.logger = INFO, standard\nwebhcat.log.dir = .\nwebhcat.log.file = webhcat.log\n\nlog4j.rootLogger = ${webhcat.root.logger}\n\n# Logging Threshold\nlog4j.threshhold = DEBUG\n\nlog4j.appender.standard  =  org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.standard.File = ${webhcat.log.dir}/${webhcat.log.file}\n\n# Rollver at midnight\nlog4j.appender.DRFA.DatePattern = .yyyy-MM-dd\n\nlog4j.appender.DRFA.layout = org.apache.log4j.PatternLayout\n\nlog4j.appender.standard.layout = org.apache.log4j.PatternLayout\nlog4j.appender.standard.layout.conversionPattern = %-5p | %d{DATE} | %c | %m%n\n\n# Class logging settings\nlog4j.logger.com.sun.jersey = DEBUG\nlog4j.logger.com.sun.jersey.spi.container.servlet.WebComponent = ERROR\nlog4j.logger.org.apache.hadoop = INFO\nlog4j.logger.org.apache.hadoop.conf = WARN\nlog4j.logger.org.apache.zookeeper = WARN\nlog4j.logger.org.eclipse.jetty = INFO"
        }
      }
    },
    {
      "livy-log4j-properties" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\n            # Set everything to be logged to the console\n            log4j.rootCategory=INFO, console\n            log4j.appender.console=org.apache.log4j.ConsoleAppender\n            log4j.appender.console.target=System.err\n            log4j.appender.console.layout=org.apache.log4j.PatternLayout\n            log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n\n\n            log4j.logger.org.eclipse.jetty=WARN"
        }
      }
    },
    {
      "spark-metrics-properties" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\n# syntax: [instance].sink|source.[name].[options]=[value]\n\n# This file configures Spark's internal metrics system. The metrics system is\n# divided into instances which correspond to internal components.\n# Each instance can be configured to report its metrics to one or more sinks.\n# Accepted values for [instance] are \"master\", \"worker\", \"executor\", \"driver\",\n# and \"applications\". A wild card \"*\" can be used as an instance name, in\n# which case all instances will inherit the supplied property.\n#\n# Within an instance, a \"source\" specifies a particular set of grouped metrics.\n# there are two kinds of sources:\n# 1. Spark internal sources, like MasterSource, WorkerSource, etc, which will\n# collect a Spark component's internal state. Each instance is paired with a\n# Spark source that is added automatically.\n# 2. Common sources, like JvmSource, which will collect low level state.\n# These can be added through configuration options and are then loaded\n# using reflection.\n#\n# A \"sink\" specifies where metrics are delivered to. Each instance can be\n# assigned one or more sinks.\n#\n# The sink|source field specifies whether the property relates to a sink or\n# source.\n#\n# The [name] field specifies the name of source or sink.\n#\n# The [options] field is the specific property of this source or sink. The\n# source or sink is responsible for parsing this property.\n#\n# Notes:\n# 1. To add a new sink, set the \"class\" option to a fully qualified class\n# name (see examples below).\n# 2. Some sinks involve a polling period. The minimum allowed polling period\n# is 1 second.\n# 3. Wild card properties can be overridden by more specific properties.\n# For example, master.sink.console.period takes precedence over\n# *.sink.console.period.\n# 4. A metrics specific configuration\n# \"spark.metrics.conf=${SPARK_HOME}/conf/metrics.properties\" should be\n# added to Java properties using -Dspark.metrics.conf=xxx if you want to\n# customize metrics system. You can also put the file in ${SPARK_HOME}/conf\n# and it will be loaded automatically.\n# 5. MetricsServlet is added by default as a sink in master, worker and client\n# driver, you can send http request \"/metrics/json\" to get a snapshot of all the\n# registered metrics in json format. For master, requests \"/metrics/master/json\" and\n# \"/metrics/applications/json\" can be sent seperately to get metrics snapshot of\n# instance master and applications. MetricsServlet may not be configured by self.\n#\n\n## List of available sinks and their properties.\n\n# org.apache.spark.metrics.sink.ConsoleSink\n# Name: Default: Description:\n# period 10 Poll period\n# unit seconds Units of poll period\n\n# org.apache.spark.metrics.sink.CSVSink\n# Name: Default: Description:\n# period 10 Poll period\n# unit seconds Units of poll period\n# directory /tmp Where to store CSV files\n\n# org.apache.spark.metrics.sink.GangliaSink\n# Name: Default: Description:\n# host NONE Hostname or multicast group of Ganglia server\n# port NONE Port of Ganglia server(s)\n# period 10 Poll period\n# unit seconds Units of poll period\n# ttl 1 TTL of messages sent by Ganglia\n# mode multicast Ganglia network mode ('unicast' or 'multicast')\n\n# org.apache.spark.metrics.sink.JmxSink\n\n# org.apache.spark.metrics.sink.MetricsServlet\n# Name: Default: Description:\n# path VARIES* Path prefix from the web server root\n# sample false Whether to show entire set of samples for histograms ('false' or 'true')\n#\n# * Default path is /metrics/json for all instances except the master. The master has two paths:\n# /metrics/aplications/json # App information\n# /metrics/master/json # Master information\n\n# org.apache.spark.metrics.sink.GraphiteSink\n# Name: Default: Description:\n# host NONE Hostname of Graphite server\n# port NONE Port of Graphite server\n# period 10 Poll period\n# unit seconds Units of poll period\n# prefix EMPTY STRING Prefix to prepend to metric name\n\n## Examples\n# Enable JmxSink for all instances by class name\n#*.sink.jmx.class=org.apache.spark.metrics.sink.JmxSink\n\n# Enable ConsoleSink for all instances by class name\n#*.sink.console.class=org.apache.spark.metrics.sink.ConsoleSink\n\n# Polling period for ConsoleSink\n#*.sink.console.period=10\n\n#*.sink.console.unit=seconds\n\n# Master instance overlap polling period\n#master.sink.console.period=15\n\n#master.sink.console.unit=seconds\n\n# Enable CsvSink for all instances\n#*.sink.csv.class=org.apache.spark.metrics.sink.CsvSink\n\n# Polling period for CsvSink\n#*.sink.csv.period=1\n\n#*.sink.csv.unit=minutes\n\n# Polling directory for CsvSink\n#*.sink.csv.directory=/tmp/\n\n# Worker instance overlap polling period\n#worker.sink.csv.period=10\n\n#worker.sink.csv.unit=minutes\n\n# Enable jvm source for instance master, worker, driver and executor\n#master.source.jvm.class=org.apache.spark.metrics.source.JvmSource\n\n#worker.source.jvm.class=org.apache.spark.metrics.source.JvmSource\n\n#driver.source.jvm.class=org.apache.spark.metrics.source.JvmSource\n\n#executor.source.jvm.class=org.apache.spark.metrics.source.JvmSource"
        }
      }
    },
    {
      "hive-interactive-env" : {
        "properties_attributes" : { },
        "properties" : {
          "enable_hive_interactive" : "false",
          "llap_heap_size" : "0",
          "llap_headroom_space" : "6144",
          "llap_app_name" : "llap0",
          "num_retries_for_checking_llap_status" : "10",
          "llap_queue_capacity" : "0",
          "content" : "\n      if [ \"$SERVICE\" = \"cli\" ]; then\n      if [ -z \"$DEBUG\" ]; then\n      export HADOOP_OPTS=\"$HADOOP_OPTS -XX:NewRatio=12 -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:+UseParNewGC -XX:-UseGCOverheadLimit\"\n      else\n      export HADOOP_OPTS=\"$HADOOP_OPTS -XX:NewRatio=12 -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:-UseGCOverheadLimit\"\n      fi\n      fi\n\n      # The heap size of the jvm stared by hive shell script can be controlled via:\n\n      if [ \"$SERVICE\" = \"metastore\" ]; then\n      export HADOOP_HEAPSIZE={{hive_metastore_heapsize}} # Setting for HiveMetastore\n      else\n      export HADOOP_HEAPSIZE={{hive_heapsize}} # Setting for HiveServer2 and Client\n      fi\n\n      export HADOOP_CLIENT_OPTS=\"$HADOOP_CLIENT_OPTS  -Xmx${HADOOP_HEAPSIZE}m\"\n\n      # Larger heap size may be required when running queries over large number of files or partitions.\n      # By default hive shell scripts use a heap size of 256 (MB).  Larger heap size would also be\n      # appropriate for hive server (hwi etc).\n\n\n      # Set HADOOP_HOME to point to a specific hadoop install directory\n      HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\n      # Hive Configuration Directory can be controlled by:\n      export HIVE_CONF_DIR={{hive_server_interactive_conf_dir}}\n\n      # Add additional hcatalog jars\n      if [ \"${HIVE_AUX_JARS_PATH}\" != \"\" ]; then\n      export HIVE_AUX_JARS_PATH=${HIVE_AUX_JARS_PATH}\n      else\n      export HIVE_AUX_JARS_PATH=/usr/hdp/current/hive-server2-hive2/lib/hive-hcatalog-core.jar\n      fi\n\n      export METASTORE_PORT={{hive_metastore_port}}\n\n      # Spark assembly contains a conflicting copy of HiveConf from hive-1.2\n      export HIVE_SKIP_SPARK_ASSEMBLY=true",
          "llap_log_level" : "INFO",
          "slider_am_container_mb" : "341",
          "llap_java_opts" : "-XX:+AlwaysPreTouch {% if java_version > 7 %}-XX:+UseG1GC -XX:TLABSize=8m -XX:+ResizeTLAB -XX:+UseNUMA -XX:+AggressiveOpts -XX:MetaspaceSize=1024m -XX:InitiatingHeapOccupancyPercent=80 -XX:MaxGCPauseMillis=200{% else %}-XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps -XX:+UseNUMA -XX:+UseParallelGC{% endif %}",
          "num_llap_nodes" : "1"
        }
      }
    },
    {
      "hiveserver2-interactive-site" : {
        "properties_attributes" : { },
        "properties" : {
          "hive.async.log.enabled" : "false",
          "hive.service.metrics.hadoop2.component" : "hiveserver2",
          "hive.metastore.metrics.enabled" : "true",
          "hive.service.metrics.reporter" : "JSON_FILE, JMX, HADOOP2",
{% endraw %}
          "hive.service.metrics.file.location" : "{{ var_opt_hosting_log }}/hive/hiveserver2Interactive-report.json"
{% raw %}
        }
      }
    },
    {
      "ams-site" : {
        "properties_attributes" : { },
        "properties" : {
          "timeline.metrics.cluster.aggregator.hourly.interval" : "3600",
          "timeline.metrics.cluster.aggregator.minute.checkpointCutOffMultiplier" : "2",
          "timeline.metrics.cluster.aggregator.daily.checkpointCutOffMultiplier" : "2",
          "timeline.metrics.host.aggregator.hourly.interval" : "3600",
          "timeline.metrics.aggregators.skip.blockcache.enabled" : "false",
          "timeline.metrics.service.rpc.address" : "0.0.0.0:60200",
          "timeline.metrics.service.operation.mode" : "embedded",
          "timeline.metrics.aggregator.checkpoint.dir" : "/var/lib/ambari-metrics-collector/checkpoint",
          "timeline.metrics.cluster.aggregator.second.checkpointCutOffMultiplier" : "2",
          "timeline.metrics.service.http.policy" : "HTTP_ONLY",
          "timeline.metrics.host.aggregator.minute.checkpointCutOffMultiplier" : "2",
          "timeline.metrics.service.watcher.timeout" : "30",
          "timeline.metrics.service.checkpointDelay" : "60",
          "timeline.metrics.cluster.aggregator.second.interval" : "120",
          "timeline.metrics.service.webapp.address" : "%HOSTGROUP::master03%:6188",
          "timeline.metrics.host.aggregator.daily.ttl" : "31536000",
          "timeline.metrics.service.watcher.delay" : "30",
          "timeline.metrics.service.watcher.disabled" : "false",
          "timeline.metrics.hbase.fifo.compaction.enabled" : "true",
          "timeline.metrics.hbase.init.check.enabled" : "true",
          "timeline.metrics.host.aggregator.hourly.disabled" : "false",
          "timeline.metrics.service.cluster.aggregator.appIds" : "datanode,nodemanager,hbase",
          "timeline.metrics.cluster.aggregator.hourly.checkpointCutOffMultiplier" : "2",
          "timeline.metrics.host.aggregator.daily.checkpointCutOffMultiplier" : "2",
          "timeline.metrics.service.resultset.fetchSize" : "2000",
          "timeline.metrics.cluster.aggregator.hourly.ttl" : "31536000",
          "timeline.metrics.host.aggregator.ttl" : "86400",
          "phoenix.spool.directory" : "/tmp",
          "timeline.metrics.host.aggregate.splitpoints" : "master.Server.numDeadRegionServers",
          "timeline.metrics.service.handler.thread.count" : "20",
          "timeline.metrics.cache.size" : "150",
          "timeline.metrics.cluster.aggregator.minute.interval" : "300",
          "timeline.metrics.cluster.aggregator.minute.ttl" : "2592000",
          "timeline.metrics.host.aggregator.minute.interval" : "300",
          "timeline.metrics.cluster.aggregator.interpolation.enabled" : "true",
          "timeline.metrics.cache.commit.interval" : "3",
          "timeline.metrics.host.aggregator.minute.disabled" : "false",
          "timeline.metrics.cache.enabled" : "true",
          "timeline.metrics.cluster.aggregate.splitpoints" : "master.Server.numDeadRegionServers",
          "timeline.metrics.cluster.aggregator.minute.disabled" : "false",
          "timeline.metrics.service.use.groupBy.aggregators" : "true",
          "phoenix.query.maxGlobalMemoryPercentage" : "25",
          "timeline.metrics.service.default.result.limit" : "15840",
          "timeline.metrics.hbase.compression.scheme" : "SNAPPY",
          "timeline.metrics.cluster.aggregator.daily.ttl" : "63072000",
          "timeline.metrics.sink.report.interval" : "60",
          "timeline.metrics.cluster.aggregator.second.timeslice.interval" : "30",
          "timeline.metrics.host.aggregator.hourly.ttl" : "2592000",
          "timeline.metrics.cluster.aggregator.daily.interval" : "86400",
          "timeline.metrics.host.aggregator.daily.disabled" : "false",
          "timeline.metrics.cluster.aggregator.daily.disabled" : "false",
          "timeline.metrics.cluster.aggregator.hourly.disabled" : "false",
          "timeline.metrics.service.watcher.initial.delay" : "600",
          "timeline.metrics.host.aggregator.minute.ttl" : "604800",
          "timeline.metrics.hbase.data.block.encoding" : "FAST_DIFF",
          "timeline.metrics.cluster.aggregator.second.disabled" : "false",
          "timeline.metrics.sink.collection.period" : "10",
          "timeline.metrics.host.aggregator.hourly.checkpointCutOffMultiplier" : "2",
          "timeline.metrics.daily.aggregator.minute.interval" : "86400",
          "timeline.metrics.cluster.aggregator.second.ttl" : "259200"
        }
      }
    },
    {
      "mapred-site" : {
        "properties_attributes" : { },
        "properties" : {
          "mapreduce.map.speculative" : "false",
          "mapreduce.jobhistory.recovery.store.class" : "org.apache.hadoop.mapreduce.v2.hs.HistoryServerLeveldbStateStoreService",
          "mapreduce.job.counters.max" : "130",
          "mapreduce.reduce.log.level" : "INFO",
          "mapreduce.shuffle.port" : "13562",
          "yarn.app.mapreduce.am.admin-command-opts" : "-Dhdp.version=${hdp.version}",
          "mapreduce.job.emit-timeline-data" : "false",
          "mapreduce.jobhistory.recovery.enable" : "true",
          "mapreduce.map.log.level" : "INFO",
          "yarn.app.mapreduce.am.staging-dir" : "/user",
          "mapreduce.reduce.shuffle.merge.percent" : "0.66",
          "mapreduce.output.fileoutputformat.compress" : "false",
          "mapreduce.admin.map.child.java.opts" : "-server -XX:NewRatio=8 -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}",
          "mapreduce.job.reduce.slowstart.completedmaps" : "0.05",
          "mapreduce.jobhistory.http.policy" : "HTTP_ONLY",
          "mapreduce.job.queuename" : "default",
          "mapreduce.application.framework.path" : "/hdp/apps/${hdp.version}/mapreduce/mapreduce.tar.gz#mr-framework",
          "mapreduce.application.classpath" : "$PWD/mr-framework/hadoop/share/hadoop/mapreduce/*:$PWD/mr-framework/hadoop/share/hadoop/mapreduce/lib/*:$PWD/mr-framework/hadoop/share/hadoop/common/*:$PWD/mr-framework/hadoop/share/hadoop/common/lib/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/lib/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/lib/*:$PWD/mr-framework/hadoop/share/hadoop/tools/lib/*:/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar:/etc/hadoop/conf/secure",
          "mapreduce.reduce.java.opts" : "-Xmx1638m",
          "mapreduce.map.output.compress" : "false",
          "mapreduce.reduce.input.buffer.percent" : "0.0",
          "mapreduce.jobhistory.intermediate-done-dir" : "/mr-history/tmp",
          "yarn.app.mapreduce.am.log.level" : "INFO",
          "mapreduce.reduce.shuffle.fetch.retry.interval-ms" : "1000",
          "mapreduce.reduce.shuffle.input.buffer.percent" : "0.7",
          "mapreduce.reduce.speculative" : "false",
          "mapreduce.output.fileoutputformat.compress.type" : "BLOCK",
          "mapreduce.task.io.sort.mb" : "859",
          "mapreduce.cluster.administrators" : " hadoop",
          "mapreduce.reduce.shuffle.fetch.retry.timeout-ms" : "30000",
          "mapreduce.jobhistory.address" : "%HOSTGROUP::master02%:10020",
          "mapreduce.map.sort.spill.percent" : "0.7",
          "mapreduce.map.memory.mb" : "1536",
          "mapreduce.admin.reduce.child.java.opts" : "-server -XX:NewRatio=8 -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}",
          "mapreduce.jobhistory.bind-host" : "0.0.0.0",
          "mapreduce.task.timeout" : "300000",
          "mapreduce.admin.user.env" : "LD_LIBRARY_PATH=/usr/hdp/${hdp.version}/hadoop/lib/native:/usr/hdp/${hdp.version}/hadoop/lib/native/Linux-amd64-64",
          "mapreduce.am.max-attempts" : "2",
          "mapreduce.reduce.memory.mb" : "2048",
          "mapreduce.framework.name" : "yarn",
          "mapreduce.reduce.shuffle.parallelcopies" : "30",
          "mapreduce.jobhistory.done-dir" : "/mr-history/done",
          "mapreduce.jobhistory.webapp.address" : "%HOSTGROUP::master02%:19888",
          "mapreduce.reduce.shuffle.fetch.retry.enabled" : "1",
          "mapreduce.task.io.sort.factor" : "100",
          "mapreduce.jobhistory.recovery.store.leveldb.path" : "/hadoop/mapreduce/jhs",
          "yarn.app.mapreduce.am.command-opts" : "-Xmx819m -Dhdp.version=${hdp.version}",
          "mapreduce.map.java.opts" : "-Xmx1228m",
          "yarn.app.mapreduce.am.resource.mb" : "1024"
        }
      }
    },
    {
      "spark-log4j-properties" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\n# Set everything to be logged to the console\nlog4j.rootCategory=INFO, console\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{1}: %m%n\n\n# Settings to quiet third party logs that are too verbose\nlog4j.logger.org.eclipse.jetty=WARN\nlog4j.logger.org.eclipse.jetty.util.component.AbstractLifeCycle=ERROR\nlog4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO\nlog4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO"
        }
      }
    },
    {
      "hdfs-log4j" : {
        "properties_attributes" : { },
        "properties" : {
          "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"
        }
      }
    },
    {
      "hive-site" : {
        "properties_attributes" : {
          "hidden" : {
            "javax.jdo.option.ConnectionPassword" : "HIVE_CLIENT,WEBHCAT_SERVER,HCAT,CONFIG_DOWNLOAD"
          }
        },
        "properties" : {
          "hive.exec.reducers.bytes.per.reducer" : "67108864",
          "hive.metastore.pre.event.listeners" : "org.apache.hadoop.hive.ql.security.authorization.AuthorizationPreEventListener",
          "hive.optimize.reducededuplication" : "true",
          "hive.metastore.sasl.enabled" : "false",
          "hive.vectorized.execution.enabled" : "true",
          "hive.security.authorization.manager" : "org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdConfOnlyAuthorizerFactory",
          "hive.auto.convert.join.noconditionaltask" : "true",
          "hive.exec.orc.compression.strategy" : "SPEED",
          "hive.server2.allow.user.substitution" : "true",
          "hive.limit.pushdown.memory.usage" : "0.04",
          "hive.merge.rcfile.block.level" : "true",
          "hive.stats.fetch.column.stats" : "true",
          "hive.tez.dynamic.partition.pruning" : "true",
          "hive.exec.max.dynamic.partitions.pernode" : "2000",
          "hive.exec.orc.default.compress" : "ZLIB",
          "hive.merge.mapredfiles" : "false",
          "hive.compactor.abortedtxn.threshold" : "1000",
          "hive.map.aggr" : "true",
          "hive.tez.dynamic.partition.pruning.max.data.size" : "104857600",
          "hive.compactor.initiator.on" : "false",
          "hive.smbjoin.cache.rows" : "10000",
          "hive.exec.max.dynamic.partitions" : "5000",
          "hive.auto.convert.join" : "true",
          "hive.server2.support.dynamic.service.discovery" : "true",
          "hive.tez.log.level" : "INFO",
          "hive.compactor.worker.timeout" : "86400L",
          "hive.metastore.authorization.storage.checks" : "false",
          "hive.merge.mapfiles" : "true",
          "hive.exec.post.hooks" : "org.apache.hadoop.hive.ql.hooks.ATSHook",
          "hive.server2.transport.mode" : "binary",
          "hive.server2.thrift.http.path" : "cliservice",
          "hive.enforce.sortmergebucketmapjoin" : "true",
          "hive.metastore.execute.setugi" : "true",
          "hive.tez.smb.number.waves" : "0.5",
          "hive.server2.authentication.spnego.keytab" : "HTTP/_HOST@EXAMPLE.COM",
          "hive.zookeeper.quorum" : "%HOSTGROUP::master01%:2181,%HOSTGROUP::master02%:2181,%HOSTGROUP::master03%:2181",
          "hive.mapjoin.bucket.cache.size" : "10000",
          "hive.metastore.kerberos.principal" : "hive/_HOST@EXAMPLE.COM",
          "hive.tez.auto.reducer.parallelism" : "true",
          "hive.security.metastore.authorization.manager" : "org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider",
          "datanucleus.autoCreateSchema" : "false",
          "datanucleus.fixedDatastore" : "true",
          "hive.compute.query.using.stats" : "true",
          "hive.security.authorization.enabled" : "false",
          "hive.server2.thrift.sasl.qop" : "auth",
          "hive.merge.orcfile.stripe.level" : "true",
          "hive.orc.splits.include.file.footer" : "false",
          "hive.exec.compress.output" : "false",
          "hive.user.install.directory" : "/user/",
          "hive.prewarm.enabled" : "false",
          "hive.compactor.delta.num.threshold" : "10",
          "hive.orc.compute.splits.num.threads" : "10",
          "hive.vectorized.groupby.checkinterval" : "4096",
          "hive.txn.manager" : "org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager",
          "datanucleus.cache.level2.type" : "none",
          "hive.map.aggr.hash.percentmemory" : "0.5",
          "hive.optimize.bucketmapjoin" : "true",
          "hive.tez.max.partition.factor" : "2.0",
          "hive.server2.thrift.port" : "10000",
          "hive.exec.failure.hooks" : "org.apache.hadoop.hive.ql.hooks.ATSHook",
          "hive.exec.compress.intermediate" : "false",
          "hive.exec.max.created.files" : "100000",
          "hive.mapred.reduce.tasks.speculative.execution" : "false",
          "hive.vectorized.groupby.flush.percent" : "0.1",
          "hive.metastore.client.socket.timeout" : "1800s",
          "hive.server2.tez.initialize.default.sessions" : "false",
          "atlas.hook.hive.minThreads" : "1",
          "hive.stats.autogather" : "true",
          "hive.optimize.sort.dynamic.partition" : "false",
          "hive.txn.max.open.batch" : "1000",
          "hive.default.fileformat" : "TextFile",
          "hive.mapjoin.optimized.hashtable" : "true",
          "hive.vectorized.groupby.maxentries" : "100000",
          "hive.compactor.check.interval" : "300L",
          "hive.security.authenticator.manager" : "org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator",
          "hive.security.metastore.authorization.auth.reads" : "true",
          "hive.compactor.delta.pct.threshold" : "0.1f",
          "hive.vectorized.execution.reduce.enabled" : "false",
          "javax.jdo.option.ConnectionDriverName" : "org.mysql.Driver",
          "hive.stats.dbclass" : "fs",
          "hive.exec.parallel" : "false",
          "hive.compactor.worker.threads" : "0",
          "hive.exec.submitviachild" : "false",
          "hive.fetch.task.conversion" : "more",
          "hive.server2.authentication" : "NONE",
          "hive.map.aggr.hash.force.flush.memory.threshold" : "0.9",
          "hive.merge.tezfiles" : "false",
          "hive.metastore.cache.pinobjtypes" : "Table,Database,Type,FieldSchema,Order",
          "hive.optimize.index.filter" : "true",
          "hive.server2.authentication.spnego.principal" : "/etc/security/keytabs/spnego.service.keytab",
          "hive.convert.join.bucket.mapjoin.tez" : "false",
          "hive.metastore.warehouse.dir" : "/apps/hive/warehouse",
          "hive.execution.engine" : "tez",
          "atlas.hook.hive.maxThreads" : "1",
          "hive.tez.dynamic.partition.pruning.max.event.size" : "1048576",
          "hive.cbo.enable" : "true",
          "hive.exec.orc.encoding.strategy" : "SPEED",
          "hive.optimize.constant.propagation" : "true",
          "hive.tez.container.size" : "1024",
          "hive.metastore.connect.retries" : "24",
          "hive.optimize.reducededuplication.min.reducer" : "4",
          "hive.tez.input.format" : "org.apache.hadoop.hive.ql.io.HiveInputFormat",
          "hive.cluster.delegation.token.store.zookeeper.connectString" : "%HOSTGROUP::master01%:2181,%HOSTGROUP::master02%:2181,%HOSTGROUP::master03%:2181",
          "hive.metastore.uris" : "thrift://%HOSTGROUP::master03%:9083",
          "hive.server2.max.start.attempts" : "5",
          "hive.exec.dynamic.partition.mode" : "strict",
          "hive.server2.thrift.max.worker.threads" : "500",
          "hive.server2.use.SSL" : "false",
          "hive.tez.java.opts" : "-server -Djava.net.preferIPv4Stack=true -XX:NewRatio=8 -XX:+UseNUMA -XX:+UseParallelGC -XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps",
          "hive.exec.submit.local.task.via.child" : "true",
          "hive.optimize.null.scan" : "true",
          "hive.exec.orc.default.stripe.size" : "67108864",
          "hive.limit.optimize.enable" : "true",
          "hive.cluster.delegation.token.store.zookeeper.znode" : "/hive/cluster/delegation",
          "hive.exec.pre.hooks" : "org.apache.hadoop.hive.ql.hooks.ATSHook",
          "hive.cluster.delegation.token.store.class" : "org.apache.hadoop.hive.thrift.ZooKeeperTokenStore",
          "ambari.hive.db.schema.name" : "hive",
          "hive.zookeeper.client.port" : "2181",
          "hive.enforce.sorting" : "true",
          "hive.tez.cpu.vcores" : "-1",
          "hive.metastore.client.connect.retry.delay" : "5s",
          "hive.server2.tez.default.queues" : "default",
          "hive.server2.tez.sessions.per.default.queue" : "1",
          "hive.server2.thrift.http.port" : "10001",
          "hive.server2.logging.operation.log.location" : "/tmp/hive/operation_logs",
          "javax.jdo.option.ConnectionURL" : "jdbc:mysql://%HOSTGROUP::master01%:5432/hive",
          "hive.map.aggr.hash.min.reduction" : "0.5",
          "hive.merge.size.per.task" : "256000000",
          "hive.merge.smallfiles.avgsize" : "16000000",
          "hive.exec.reducers.max" : "1009",
          "hive.optimize.metadataonly" : "true",
          "hive.fetch.task.conversion.threshold" : "1073741824",
          "hive.prewarm.numcontainers" : "3",
          "hive.tez.min.partition.factor" : "0.25",
          "hive.auto.convert.join.noconditionaltask.size" : "286331153",
          "hive.server2.logging.operation.enabled" : "true",
          "hive.metastore.kerberos.keytab.file" : "/etc/security/keytabs/hive.service.keytab",
          "hive.exec.parallel.thread.number" : "8",
          "hive.support.concurrency" : "false",
          "javax.jdo.option.ConnectionUserName" : "hive",
          "hive.conf.restricted.list" : "hive.security.authenticator.manager,hive.security.authorization.manager,hive.users.in.admin.role",
          "hive.auto.convert.sortmerge.join.to.mapjoin" : "false",
          "hive.fetch.task.aggr" : "false",
          "hive.cli.print.header" : "false",
          "hive.server2.table.type.mapping" : "CLASSIC",
          "hive.txn.timeout" : "300",
          "hive.stats.fetch.partition.stats" : "true",
          "hive.optimize.bucketmapjoin.sortedmerge" : "false",
          "hive.security.metastore.authenticator.manager" : "org.apache.hadoop.hive.ql.security.HadoopDefaultMetastoreAuthenticator",
          "hive.server2.enable.doAs" : "true",
          "hive.server2.zookeeper.namespace" : "hiveserver2",
          "hive.default.fileformat.managed" : "TextFile",
          "hive.enforce.bucketing" : "false",
          "hive.exec.scratchdir" : "/tmp/hive",
          "hive.exec.dynamic.partition" : "true",
          "hive.metastore.server.max.threads" : "100000",
          "hive.metastore.failure.retries" : "24",
          "hive.auto.convert.sortmerge.join" : "true",
          "hive.zookeeper.namespace" : "hive_zookeeper_namespace"
        }
      }
    },
    {
      "tez-site" : {
        "properties_attributes" : { },
        "properties" : {
          "tez.am.launch.cmd-opts" : "-XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps -XX:+UseNUMA -XX:+UseParallelGC",
          "tez.runtime.sorter.class" : "PIPELINED",
          "tez.counters.max.groups" : "3000",
          "tez.am.view-acls" : "*",
          "tez.runtime.shuffle.memory.limit.percent" : "0.25",
          "tez.staging-dir" : "/tmp/${user.name}/staging",
          "tez.am.container.reuse.locality.delay-allocation-millis" : "250",
          "tez.runtime.compress" : "true",
          "tez.am.am-rm.heartbeat.interval-ms.max" : "250",
          "tez.am.container.idle.release-timeout-min.millis" : "10000",
          "tez.task.launch.cmd-opts" : "-XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps -XX:+UseNUMA -XX:+UseParallelGC",
          "tez.lib.uris" : "/hdp/apps/${hdp.version}/tez/tez.tar.gz",
          "tez.counters.max" : "10000",
          "tez.generate.debug.artifacts" : "false",
          "tez.runtime.convert.user-payload.to.history-text" : "false",
          "tez.shuffle-vertex-manager.max-src-fraction" : "0.4",
          "tez.am.log.level" : "INFO",
          "tez.task.am.heartbeat.counter.interval-ms.max" : "4000",
          "tez.am.container.idle.release-timeout-max.millis" : "20000",
          "tez.am.resource.memory.mb" : "2048",
          "tez.am.max.app.attempts" : "2",
          "tez.cluster.additional.classpath.prefix" : "/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar:/etc/hadoop/conf/secure",
          "tez.am.container.reuse.non-local-fallback.enabled" : "false",
          "tez.am.container.reuse.rack-fallback.enabled" : "true",
          "tez.task.get-task.sleep.interval-ms.max" : "200",
          "tez.runtime.io.sort.mb" : "270",
          "tez.task.resource.memory.mb" : "1024",
          "tez.runtime.optimize.local.fetch" : "true",
          "tez.runtime.pipelined.sorter.sort.threads" : "2",
          "tez.shuffle-vertex-manager.min-src-fraction" : "0.2",
          "tez.session.am.dag.submit.timeout.secs" : "600",
          "tez.session.client.timeout.secs" : "-1",
          "tez.am.launch.cluster-default.cmd-opts" : "-server -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}",
          "tez.am.maxtaskfailures.per.node" : "10",
          "tez.am.tez-ui.history-url.template" : "__HISTORY_URL_BASE__?viewPath=%2F%23%2Ftez-app%2F__APPLICATION_ID__",
          "tez.runtime.shuffle.fetch.buffer.percent" : "0.6",
          "tez.task.launch.env" : "LD_LIBRARY_PATH=/usr/hdp/${hdp.version}/hadoop/lib/native:/usr/hdp/${hdp.version}/hadoop/lib/native/Linux-amd64-64",
          "tez.use.cluster.hadoop-libs" : "false",
          "tez.queue.name" : "default",
          "tez.runtime.unordered.output.buffer.size-mb" : "76",
          "tez.am.container.reuse.enabled" : "true",
          "tez.grouping.split-waves" : "1.7",
          "tez.grouping.max-size" : "1073741824",
          "tez.task.launch.cluster-default.cmd-opts" : "-server -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}",
          "tez.task.max-events-per-heartbeat" : "500",
          "tez.history.logging.service.class" : "org.apache.tez.dag.history.logging.ats.ATSV15HistoryLoggingService",
          "tez.grouping.min-size" : "16777216",
          "tez.task.generate.counters.per.io" : "true",
          "tez.am.launch.env" : "LD_LIBRARY_PATH=/usr/hdp/${hdp.version}/hadoop/lib/native:/usr/hdp/${hdp.version}/hadoop/lib/native/Linux-amd64-64",
          "tez.runtime.compress.codec" : "org.apache.hadoop.io.compress.SnappyCodec"
        }
      }
    },
    {
      "webhcat-site" : {
        "properties_attributes" : { },
        "properties" : {
          "templeton.zookeeper.hosts" : "%HOSTGROUP::master01%:2181,%HOSTGROUP::master02%:2181,%HOSTGROUP::master03%:2181",
          "webhcat.proxyuser.root.groups" : "*",
          "webhcat.proxyuser.root.hosts" : "master01.net",
          "templeton.hadoop.queue.name" : "default",
          "templeton.hadoop" : "/usr/hdp/${hdp.version}/hadoop/bin/hadoop",
          "templeton.hive.extra.files" : "/usr/hdp/${hdp.version}/tez/conf/tez-site.xml,/usr/hdp/${hdp.version}/tez,/usr/hdp/${hdp.version}/tez/lib",
          "templeton.hcat.home" : "hive.tar.gz/hive/hcatalog",
          "templeton.override.enabled" : "false",
          "templeton.hive.properties" : "hive.metastore.local=false,hive.metastore.uris=thrift://%HOSTGROUP::master03%:9083,hive.metastore.sasl.enabled=false,hive.metastore.execute.setugi=true",
          "templeton.python" : "${env.PYTHON_CMD}",
          "templeton.storage.class" : "org.apache.hive.hcatalog.templeton.tool.ZooKeeperStorage",
          "templeton.streaming.jar" : "hdfs:///hdp/apps/${hdp.version}/mapreduce/hadoop-streaming.jar",
          "templeton.hadoop.conf.dir" : "/etc/hadoop/conf",
          "templeton.hcat" : "/usr/hdp/${hdp.version}/hive/bin/hcat",
          "templeton.jar" : "/usr/hdp/${hdp.version}/hive/share/webhcat/svr/lib/hive-webhcat-*.jar",
          "templeton.port" : "50111",
          "templeton.libjars" : "/usr/hdp/${hdp.version}/zookeeper/zookeeper.jar,/usr/hdp/${hdp.version}/hive/lib/hive-common.jar",
          "templeton.hive.path" : "hive.tar.gz/hive/bin/hive",
          "templeton.exec.timeout" : "60000",
          "templeton.sqoop.home" : "sqoop.tar.gz/sqoop",
          "templeton.sqoop.archive" : "hdfs:///hdp/apps/${hdp.version}/sqoop/sqoop.tar.gz",
          "templeton.hive.archive" : "hdfs:///hdp/apps/${hdp.version}/hive/hive.tar.gz",
          "templeton.hive.home" : "hive.tar.gz/hive",
          "templeton.pig.archive" : "hdfs:///hdp/apps/${hdp.version}/pig/pig.tar.gz",
          "templeton.pig.path" : "pig.tar.gz/pig/bin/pig",
          "templeton.sqoop.path" : "sqoop.tar.gz/sqoop/bin/sqoop"
        }
      }
    },
    {
      "slider-env" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\n# Set Slider-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={{java64_home}}\n# The hadoop conf directory.  Optional as slider-client.xml can be edited to add properties.\nexport HADOOP_CONF_DIR={{hadoop_conf_dir}}"
        }
      }
    },
    {
      "ams-hbase-env" : {
        "properties_attributes" : { },
        "properties" : {
          "hbase_master_maxperm_size" : "128",
          "max_open_files_limit" : "32768",
          "regionserver_xmn_size" : "128",
          "hbase_master_heapsize" : "640",
          "hbase_regionserver_xmn_ratio" : "0.2",
          "hbase_master_xmn_size" : "192",
          "content" : "\n# Set environment variables here.\n\n# The java implementation to use. Java 1.6+ required.\nexport JAVA_HOME={{java64_home}}\n\n# HBase Configuration directory\nexport HBASE_CONF_DIR=${HBASE_CONF_DIR:-{{hbase_conf_dir}}}\n\n# Extra Java CLASSPATH elements. Optional.\nadditional_cp={{hbase_classpath_additional}}\nif [  -n \"$additional_cp\" ];\nthen\n  export HBASE_CLASSPATH=${HBASE_CLASSPATH}:$additional_cp\nelse\n  export HBASE_CLASSPATH=${HBASE_CLASSPATH}\nfi\n\n# The maximum amount of heap to use for hbase shell.\nexport HBASE_SHELL_OPTS=\"-Xmx256m\"\n\n# Extra Java runtime options.\n# Below are what we set by default. May only work with SUN JVM.\n# For more on why as well as other possible settings,\n# see http://wiki.apache.org/hadoop/PerformanceTuning\nexport HBASE_OPTS=\"-XX:+UseConcMarkSweepGC -XX:ErrorFile={{hbase_log_dir}}/hs_err_pid%p.log -Djava.io.tmpdir={{hbase_tmp_dir}}\"\nexport SERVER_GC_OPTS=\"-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:{{hbase_log_dir}}/gc.log-`date +'%Y%m%d%H%M'`\"\n# Uncomment below to enable java garbage collection logging.\n# export HBASE_OPTS=\"$HBASE_OPTS -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$HBASE_HOME/logs/gc-hbase.log\"\n\n# Uncomment and adjust to enable JMX exporting\n# See jmxremote.password and jmxremote.access in $JRE_HOME/lib/management to configure remote password access.\n# More details at: http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html\n#\n# export HBASE_JMX_BASE=\"-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false\"\n\n{% if java_version < 8 %}\nexport HBASE_MASTER_OPTS=\" -XX:PermSize=64m -XX:MaxPermSize={{hbase_master_maxperm_size}} -Xms{{hbase_heapsize}} -Xmx{{hbase_heapsize}} -Xmn{{hbase_master_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly\"\nexport HBASE_REGIONSERVER_OPTS=\"-XX:MaxPermSize=128m -Xmn{{regionserver_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -Xms{{regionserver_heapsize}} -Xmx{{regionserver_heapsize}}\"\n{% else %}\nexport HBASE_MASTER_OPTS=\" -Xms{{hbase_heapsize}} -Xmx{{hbase_heapsize}} -Xmn{{hbase_master_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly\"\nexport HBASE_REGIONSERVER_OPTS=\" -Xmn{{regionserver_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -Xms{{regionserver_heapsize}} -Xmx{{regionserver_heapsize}}\"\n{% endif %}\n\n\n# export HBASE_THRIFT_OPTS=\"$HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10103\"\n# export HBASE_ZOOKEEPER_OPTS=\"$HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10104\"\n\n# File naming hosts on which HRegionServers will run. $HBASE_HOME/conf/regionservers by default.\nexport HBASE_REGIONSERVERS=${HBASE_CONF_DIR}/regionservers\n\n# Extra ssh options. Empty by default.\n# export HBASE_SSH_OPTS=\"-o ConnectTimeout=1 -o SendEnv=HBASE_CONF_DIR\"\n\n# Where log files are stored. $HBASE_HOME/logs by default.\nexport HBASE_LOG_DIR={{hbase_log_dir}}\n\n# A string representing this instance of hbase. $USER by default.\n# export HBASE_IDENT_STRING=$USER\n\n# The scheduling priority for daemon processes. See 'man nice'.\n# export HBASE_NICENESS=10\n\n# The directory where pid files are stored. /tmp by default.\nexport HBASE_PID_DIR={{hbase_pid_dir}}\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 HBASE_SLAVE_SLEEP=0.1\n\n# Tell HBase whether it should manage it's own instance of Zookeeper or not.\nexport HBASE_MANAGES_ZK=false\n\n{% if security_enabled %}\nexport HBASE_OPTS=\"$HBASE_OPTS -Djava.security.auth.login.config={{client_jaas_config_file}}\"\nexport HBASE_MASTER_OPTS=\"$HBASE_MASTER_OPTS -Djava.security.auth.login.config={{master_jaas_config_file}}\"\nexport HBASE_REGIONSERVER_OPTS=\"$HBASE_REGIONSERVER_OPTS -Djava.security.auth.login.config={{regionserver_jaas_config_file}}\"\nexport HBASE_ZOOKEEPER_OPTS=\"$HBASE_ZOOKEEPER_OPTS -Djava.security.auth.login.config={{ams_zookeeper_jaas_config_file}}\"\n{% endif %}\n\n# use embedded native libs\n_HADOOP_NATIVE_LIB=\"/usr/lib/ams-hbase/lib/hadoop-native/\"\nexport HBASE_OPTS=\"$HBASE_OPTS -Djava.library.path=${_HADOOP_NATIVE_LIB}\"\n\n# Unset HADOOP_HOME to avoid importing HADOOP installed cluster related configs like: /usr/hdp/2.2.0.0-2041/hadoop/conf/\nexport HADOOP_HOME={{ams_hbase_home_dir}}\n\n# Explicitly Setting HBASE_HOME for AMS HBase so that there is no conflict\nexport HBASE_HOME={{ams_hbase_home_dir}}",
          "hbase_pid_dir" : "/var/run/ambari-metrics-collector/",
          "hbase_regionserver_shutdown_timeout" : "30",
{% endraw %}
          "hbase_log_dir" : "{{ var_opt_hosting_log }}/ambari-metrics-collector",
{% raw %}
          "hbase_regionserver_heapsize" : "768",
          "hbase_classpath_additional" : ""
        }
      }
    },
    {
      "ams-log4j" : {
        "properties_attributes" : { },
        "properties" : {
          "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# Define some default values that can be overridden by system properties\nams.log.dir=.\nams.log.file=ambari-metrics-collector.log\n\n# Root logger option\nlog4j.rootLogger=INFO,file\n\n# Direct log messages to a log file\nlog4j.appender.file=org.apache.log4j.RollingFileAppender\nlog4j.appender.file.File=${ams.log.dir}/${ams.log.file}\nlog4j.appender.file.MaxFileSize=80MB\nlog4j.appender.file.MaxBackupIndex=60\nlog4j.appender.file.layout=org.apache.log4j.PatternLayout\nlog4j.appender.file.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n"
        }
      }
    },
    {
      "hivemetastore-site" : {
        "properties_attributes" : { },
        "properties" : {
          "hive.service.metrics.hadoop2.component" : "hivemetastore",
          "hive.metastore.metrics.enabled" : "true",
          "hive.service.metrics.reporter" : "JSON_FILE, JMX, HADOOP2",
{% endraw %}
          "hive.service.metrics.file.location" : "{{ var_opt_hosting_log }}/hive/hivemetastore-report.json"
{% raw %}
        }
      }
    },
    {
      "ams-ssl-server" : {
        "properties_attributes" : { },
        "properties" : {
          "ssl.server.truststore.location" : "/etc/security/serverKeys/all.jks",
          "ssl.server.truststore.reload.interval" : "10000",
          "ssl.server.truststore.type" : "jks",
          "ssl.server.keystore.location" : "/etc/security/serverKeys/keystore.jks",
          "ssl.server.keystore.type" : "jks"
        }
      }
    },
    {
      "hive-exec-log4j2" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\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\nstatus = INFO\nname = HiveExecLog4j2\npackages = org.apache.hadoop.hive.ql.log\n\n# list of properties\nproperty.hive.log.level = INFO\nproperty.hive.root.logger = FA\nproperty.hive.query.id = hadoop\nproperty.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name}\nproperty.hive.log.file = ${sys:hive.query.id}.log\n\n# list of all appenders\nappenders = console, FA\n\n# console appender\nappender.console.type = Console\nappender.console.name = console\nappender.console.target = SYSTEM_ERR\nappender.console.layout.type = PatternLayout\nappender.console.layout.pattern = %d{yy/MM/dd HH:mm:ss} [%t]: %p %c{2}: %m%n\n\n# simple file appender\nappender.FA.type = File\nappender.FA.name = FA\nappender.FA.fileName = ${sys:hive.log.dir}/${sys:hive.log.file}\nappender.FA.layout.type = PatternLayout\nappender.FA.layout.pattern = %d{ISO8601} %-5p [%t]: %c{2} (%F:%M(%L)) - %m%n\n\n# list of all loggers\nloggers = NIOServerCnxn, ClientCnxnSocketNIO, DataNucleus, Datastore, JPOX\n\nlogger.NIOServerCnxn.name = org.apache.zookeeper.server.NIOServerCnxn\nlogger.NIOServerCnxn.level = WARN\n\nlogger.ClientCnxnSocketNIO.name = org.apache.zookeeper.ClientCnxnSocketNIO\nlogger.ClientCnxnSocketNIO.level = WARN\n\nlogger.DataNucleus.name = DataNucleus\nlogger.DataNucleus.level = ERROR\n\nlogger.Datastore.name = Datastore\nlogger.Datastore.level = ERROR\n\nlogger.JPOX.name = JPOX\nlogger.JPOX.level = ERROR\n\n# root logger\nrootLogger.level = ${sys:hive.log.level}\nrootLogger.appenderRefs = root\nrootLogger.appenderRef.root.ref = ${sys:hive.root.logger}"
        }
      }
    },
    {
      "ams-hbase-log4j" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\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# Define some default values that can be overridden by system properties\nhbase.root.logger=INFO,console\nhbase.security.logger=INFO,console\nhbase.log.dir=.\nhbase.log.file=hbase.log\n\n# Define the root logger to the system property \"hbase.root.logger\".\nlog4j.rootLogger=${hbase.root.logger}\n\n# Logging Threshold\nlog4j.threshold=ALL\n\n#\n# Daily Rolling File Appender\n#\nlog4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.DRFA.File=${hbase.log.dir}/${hbase.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} %-5p [%t] %c{2}: %m%n\n\n# Rolling File Appender properties\nhbase.log.maxfilesize=256MB\nhbase.log.maxbackupindex=20\n\n# Rolling File Appender\nlog4j.appender.RFA=org.apache.log4j.RollingFileAppender\nlog4j.appender.RFA.File=${hbase.log.dir}/${hbase.log.file}\n\nlog4j.appender.RFA.MaxFileSize=${hbase.log.maxfilesize}\nlog4j.appender.RFA.MaxBackupIndex=${hbase.log.maxbackupindex}\n\nlog4j.appender.RFA.layout=org.apache.log4j.PatternLayout\nlog4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c{2}: %m%n\n\n#\n# Security audit appender\n#\nhbase.security.log.file=SecurityAuth.audit\nhbase.security.log.maxfilesize=256MB\nhbase.security.log.maxbackupindex=20\nlog4j.appender.RFAS=org.apache.log4j.RollingFileAppender\nlog4j.appender.RFAS.File=${hbase.log.dir}/${hbase.security.log.file}\nlog4j.appender.RFAS.MaxFileSize=${hbase.security.log.maxfilesize}\nlog4j.appender.RFAS.MaxBackupIndex=${hbase.security.log.maxbackupindex}\nlog4j.appender.RFAS.layout=org.apache.log4j.PatternLayout\nlog4j.appender.RFAS.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n\nlog4j.category.SecurityLogger=${hbase.security.logger}\nlog4j.additivity.SecurityLogger=false\n#log4j.logger.SecurityLogger.org.apache.hadoop.hbase.security.access.AccessController=TRACE\n\n#\n# Null Appender\n#\nlog4j.appender.NullAppender=org.apache.log4j.varia.NullAppender\n\n#\n# console\n# Add \"console\" to rootlogger above if you want to use this\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{ISO8601} %-5p [%t] %c{2}: %m%n\n\n# Custom Logging levels\n\nlog4j.logger.org.apache.zookeeper=INFO\n#log4j.logger.org.apache.hadoop.fs.FSNamesystem=DEBUG\nlog4j.logger.org.apache.hadoop.hbase=INFO\n# Make these two classes INFO-level. Make them DEBUG to see more zk debug.\nlog4j.logger.org.apache.hadoop.hbase.zookeeper.ZKUtil=INFO\nlog4j.logger.org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher=INFO\n#log4j.logger.org.apache.hadoop.dfs=DEBUG\n# Set this class to log INFO only otherwise its OTT\n# Enable this to get detailed connection error/retry logging.\n# log4j.logger.org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation=TRACE\n\n\n# Uncomment this line to enable tracing on _every_ RPC call (this can be a lot of output)\n#log4j.logger.org.apache.hadoop.ipc.HBaseServer.trace=DEBUG\n\n# Uncomment the below if you want to remove logging of client region caching'\n# and scan of .META. messages\n# log4j.logger.org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation=INFO\n# log4j.logger.org.apache.hadoop.hbase.client.MetaScanner=INFO"
        }
      }
    },
    {
      "ssl-client" : {
        "properties_attributes" : { },
        "properties" : {
          "ssl.client.truststore.reload.interval" : "10000",
          "ssl.client.keystore.location" : "/etc/security/clientKeys/keystore.jks",
          "ssl.client.truststore.location" : "/etc/security/clientKeys/all.jks",
          "ssl.client.truststore.type" : "jks",
          "ssl.client.keystore.type" : "jks"
        }
      }
    },
    {
      "ams-ssl-client" : {
        "properties_attributes" : { },
        "properties" : {
          "ssl.client.truststore.type" : "jks",
          "ssl.client.truststore.location" : "/etc/security/clientKeys/all.jks"
        }
      }
    },
    {
      "hive-atlas-application.properties" : {
        "properties_attributes" : { },
        "properties" : {
          "atlas.hook.hive.maxThreads" : "5",
          "atlas.hook.hive.keepAliveTime" : "10",
          "atlas.hook.hive.synchronous" : "false",
          "atlas.hook.hive.minThreads" : "5",
          "atlas.hook.hive.numRetries" : "3",
          "atlas.hook.hive.queueSize" : "1000"
        }
      }
    },
    {
      "ams-hbase-policy" : {
        "properties_attributes" : { },
        "properties" : {
          "security.masterregion.protocol.acl" : "*",
          "security.admin.protocol.acl" : "*",
          "security.client.protocol.acl" : "*"
        }
      }
    },
    {
      "ranger-hdfs-security" : {
        "properties_attributes" : { },
        "properties" : { }
      }
    },
    {
      "spark-thrift-sparkconf" : {
        "properties_attributes" : {
          "final" : {
            "spark.eventLog.dir" : "true",
            "spark.eventLog.enabled" : "true",
            "spark.history.fs.logDirectory" : "true"
          }
        },
        "properties" : {
          "spark.executor.memory" : "1g",
          "spark.yarn.am.memory" : "512m",
          "spark.master" : "{{spark_thrift_master}}",
          "spark.scheduler.allocation.file" : "{{spark_conf}}/spark-thrift-fairscheduler.xml",
          "spark.driver.extraLibraryPath" : "{{spark_hadoop_lib_native}}",
          "spark.executor.extraLibraryPath" : "{{spark_hadoop_lib_native}}",
          "spark.hadoop.cacheConf" : "false",
          "spark.history.provider" : "org.apache.spark.deploy.history.FsHistoryProvider",
          "spark.dynamicAllocation.maxExecutors" : "10",
          "spark.scheduler.mode" : "FAIR",
          "spark.eventLog.dir" : "{{spark_history_dir}}",
          "spark.eventLog.enabled" : "true",
          "spark.dynamicAllocation.minExecutors" : "0",
          "spark.shuffle.service.enabled" : "true",
          "spark.dynamicAllocation.initialExecutors" : "0",
          "spark.history.fs.logDirectory" : "{{spark_history_dir}}",
          "spark.yarn.queue" : "default",
          "spark.dynamicAllocation.enabled" : "true"
        }
      }
    },
    {
      "ams-grafana-ini" : {
        "properties_attributes" : { },
        "properties" : {
          "protocol" : "http",
          "cert_key" : "/etc/ambari-metrics-grafana/conf/ams-grafana.key",
          "port" : "3000",
          "content" : "\n##################### Grafana Configuration Example #####################\n#\n# Everything has defaults so you only need to uncomment things you want to\n# change\n\n# possible values : production, development\n; app_mode = production\n\n#################################### Paths ####################################\n[paths]\n# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)\n#\n;data = /var/lib/grafana\ndata = {{ams_grafana_data_dir}}\n#\n# Directory where grafana can store logs\n#\n;logs = /var/log/grafana\nlogs = {{ams_grafana_log_dir}}\n\n\n#################################### Server ####################################\n[server]\n# Protocol (http or https)\n;protocol = http\nprotocol = {{ams_grafana_protocol}}\n# The ip address to bind to, empty will bind to all interfaces\n;http_addr =\n\n# The http port  to use\n;http_port = 3000\nhttp_port = {{ams_grafana_port}}\n\n# The public facing domain name used to access grafana from a browser\n;domain = localhost\n\n# Redirect to correct domain if host header does not match domain\n# Prevents DNS rebinding attacks\n;enforce_domain = false\n\n# The full public facing url\n;root_url = %(protocol)s://%(domain)s:%(http_port)s/\n\n# Log web requests\n;router_logging = false\n\n# the path relative working path\n;static_root_path = public\nstatic_root_path = /usr/lib/ambari-metrics-grafana/public\n\n# enable gzip\n;enable_gzip = false\n\n# https certs & key file\n;cert_file =\n;cert_key =\ncert_file = {{ams_grafana_cert_file}}\ncert_key = {{ams_grafana_cert_key}}\n\n#################################### Database ####################################\n[database]\n# Either \"mysql\", \"postgres\" or \"sqlite3\", it's your choice\n;type = sqlite3\n;host = 127.0.0.1:3306\n;name = grafana\n;user = root\n;password =\n\n# For \"postgres\" only, either \"disable\", \"require\" or \"verify-full\"\n;ssl_mode = disable\n\n# For \"sqlite3\" only, path relative to data_path setting\n;path = grafana.db\n\n#################################### Session ####################################\n[session]\n# Either \"memory\", \"file\", \"redis\", \"mysql\", \"postgres\", default is \"file\"\n;provider = file\n\n# Provider config options\n# memory: not have any config yet\n# file: session dir path, is relative to grafana data_path\n# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana`\n# mysql: go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1:3306)/database_name`\n# postgres: user=a password=b host=localhost port=5432 dbname=c sslmode=disable\n;provider_config = sessions\n\n# Session cookie name\n;cookie_name = grafana_sess\n\n# If you use session in https only, default is false\n;cookie_secure = false\n\n# Session life time, default is 86400\n;session_life_time = 86400\n\n#################################### Analytics ####################################\n[analytics]\n# Server reporting, sends usage counters to stats.grafana.org every 24 hours.\n# No ip addresses are being tracked, only simple counters to track\n# running instances, dashboard and error counts. It is very helpful to us.\n# Change this option to false to disable reporting.\n;reporting_enabled = true\n\n# Google Analytics universal tracking code, only enabled if you specify an id here\n;google_analytics_ua_id =\n\n#################################### Security ####################################\n[security]\n# default admin user, created on startup\nadmin_user = {{ams_grafana_admin_user}}\n\n# default admin password, can be changed before first start of grafana,  or in profile settings\nadmin_password = {{ams_grafana_admin_pwd}}\n\n# used for signing\n;secret_key = SW2YcwTIb9zpOOhoPsMm\n\n# Auto-login remember days\n;login_remember_days = 7\n;cookie_username = grafana_user\n;cookie_remember_name = grafana_remember\n\n# disable gravatar profile images\n;disable_gravatar = false\n\n# data source proxy whitelist (ip_or_domain:port seperated by spaces)\n;data_source_proxy_whitelist =\n\n#################################### Users ####################################\n[users]\n# disable user signup / registration\n;allow_sign_up = true\n\n# Allow non admin users to create organizations\n;allow_org_create = true\n\n# Set to true to automatically assign new users to the default organization (id 1)\n;auto_assign_org = true\n\n# Default role new users will be automatically assigned (if disabled above is set to true)\n;auto_assign_org_role = Viewer\n\n# Background text for the user field on the login page\n;login_hint = email or username\n\n#################################### Anonymous Auth ##########################\n[auth.anonymous]\n# enable anonymous access\nenabled = true\n\n# specify organization name that should be used for unauthenticated users\norg_name = Main Org.\n\n# specify role for unauthenticated users\n;org_role = Admin\n\n#################################### Github Auth ##########################\n[auth.github]\n;enabled = false\n;allow_sign_up = false\n;client_id = some_id\n;client_secret = some_secret\n;scopes = user:email,read:org\n;auth_url = https://github.com/login/oauth/authorize\n;token_url = https://github.com/login/oauth/access_token\n;api_url = https://api.github.com/user\n;team_ids =\n;allowed_organizations =\n\n#################################### Google Auth ##########################\n[auth.google]\n;enabled = false\n;allow_sign_up = false\n;client_id = some_client_id\n;client_secret = some_client_secret\n;scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email\n;auth_url = https://accounts.google.com/o/oauth2/auth\n;token_url = https://accounts.google.com/o/oauth2/token\n;api_url = https://www.googleapis.com/oauth2/v1/userinfo\n;allowed_domains =\n\n#################################### Auth Proxy ##########################\n[auth.proxy]\n;enabled = false\n;header_name = X-WEBAUTH-USER\n;header_property = username\n;auto_sign_up = true\n\n#################################### Basic Auth ##########################\n[auth.basic]\n;enabled = true\n\n#################################### Auth LDAP ##########################\n[auth.ldap]\n;enabled = false\n;config_file = /etc/grafana/ldap.toml\n\n#################################### SMTP / Emailing ##########################\n[smtp]\n;enabled = false\n;host = localhost:25\n;user =\n;password =\n;cert_file =\n;key_file =\n;skip_verify = false\n;from_address = admin@grafana.localhost\n\n[emails]\n;welcome_email_on_sign_up = false\n\n#################################### Logging ##########################\n[log]\n# Either \"console\", \"file\", default is \"console\"\n# Use comma to separate multiple modes, e.g. \"console, file\"\n;mode = console, file\n\n# Buffer length of channel, keep it as it is if you don't know what it is.\n;buffer_len = 10000\n\n# Either \"Trace\", \"Debug\", \"Info\", \"Warn\", \"Error\", \"Critical\", default is \"Trace\"\n;level = Info\n\n# For \"console\" mode only\n[log.console]\n;level =\n\n# For \"file\" mode only\n[log.file]\n;level =\n# This enables automated log rotate(switch of following options), default is true\n;log_rotate = true\n\n# Max line number of single file, default is 1000000\n;max_lines = 1000000\n\n# Max size shift of single file, default is 28 means 1 << 28, 256MB\n;max_lines_shift = 28\n\n# Segment log daily, default is true\n;daily_rotate = true\n\n# Expired days of log file(delete after max days), default is 7\n;max_days = 7\n\n#################################### AMPQ Event Publisher ##########################\n[event_publisher]\n;enabled = false\n;rabbitmq_url = amqp://localhost/\n;exchange = grafana_events\n\n;#################################### Dashboard JSON files ##########################\n[dashboards.json]\n;enabled = false\n;path = /var/lib/grafana/dashboards\npath = /usr/lib/ambari-metrics-grafana/public/dashboards",
          "cert_file" : "/etc/ambari-metrics-grafana/conf/ams-grafana.crt"
        }
      }
    },
    {
      "hadoop-env" : {
        "properties_attributes" : { },
        "properties" : {
          "hadoop_heapsize" : "1024",
          "proxyuser_group" : "users",
          "hadoop_root_logger" : "INFO,RFA",
          "dtnode_heapsize" : "1024m",
          "namenode_backup_dir" : "/tmp/upgrades",
          "hdfs_user" : "hdfs",
          "hadoop_pid_dir_prefix" : "/var/run/hadoop",
          "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\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  {% if is_datanode_max_locked_memory_set %}\n  ulimit -l {{datanode_max_locked_memory}}\n  {% endif %}\n  ulimit -n {{hdfs_user_nofile_limit}}\nfi",
{% endraw %}
          "hdfs_log_dir_prefix" : "{{ var_opt_hosting_log }}/hadoop",
{% raw %}
          "namenode_opt_newsize" : "128m",
          "namenode_heapsize" : "1024m",
          "hdfs_tmp_dir" : "/tmp",
          "namenode_opt_maxpermsize" : "256m",
          "nfsgateway_heapsize" : "1024",
          "hdfs_user_nofile_limit" : "128000",
          "keyserver_host" : " ",
          "keyserver_port" : "",
          "hdfs_user_nproc_limit" : "65536",
          "namenode_opt_maxnewsize" : "128m",
          "namenode_opt_permsize" : "128m"
        }
      }
    },
    {
      "zookeeper-env" : {
        "properties_attributes" : { },
        "properties" : {
{% endraw %}
          "zk_log_dir" : "{{ var_opt_hosting_log }}/zookeeper",
{% raw %}
          "zk_user" : "zookeeper",
          "zk_pid_dir" : "/var/run/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 %}"
        }
      }
    },
    {
      "yarn-log4j" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\n#Relative to Yarn Log Dir Prefix\nyarn.log.dir=.\n#\n# Job Summary Appender\n#\n# Use following logger to send summary to separate file defined by\n# hadoop.mapreduce.jobsummary.log.file rolled daily:\n# hadoop.mapreduce.jobsummary.logger=INFO,JSA\n#\nhadoop.mapreduce.jobsummary.logger=${hadoop.root.logger}\nhadoop.mapreduce.jobsummary.log.file=hadoop-mapreduce.jobsummary.log\nlog4j.appender.JSA=org.apache.log4j.DailyRollingFileAppender\n# Set the ResourceManager summary log filename\nyarn.server.resourcemanager.appsummary.log.file=hadoop-mapreduce.jobsummary.log\n# Set the ResourceManager summary log level and appender\nyarn.server.resourcemanager.appsummary.logger=${hadoop.root.logger}\n#yarn.server.resourcemanager.appsummary.logger=INFO,RMSUMMARY\n\n# To enable AppSummaryLogging for the RM,\n# set yarn.server.resourcemanager.appsummary.logger to\n# LEVEL,RMSUMMARY in hadoop-env.sh\n\n# Appender for ResourceManager Application Summary Log\n# Requires the following properties to be set\n#    - hadoop.log.dir (Hadoop Log directory)\n#    - yarn.server.resourcemanager.appsummary.log.file (resource manager app summary log filename)\n#    - yarn.server.resourcemanager.appsummary.logger (resource manager app summary log level and appender)\nlog4j.appender.RMSUMMARY=org.apache.log4j.RollingFileAppender\nlog4j.appender.RMSUMMARY.File=${yarn.log.dir}/${yarn.server.resourcemanager.appsummary.log.file}\nlog4j.appender.RMSUMMARY.MaxFileSize=256MB\nlog4j.appender.RMSUMMARY.MaxBackupIndex=20\nlog4j.appender.RMSUMMARY.layout=org.apache.log4j.PatternLayout\nlog4j.appender.RMSUMMARY.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n\nlog4j.appender.JSA.layout=org.apache.log4j.PatternLayout\nlog4j.appender.JSA.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n\nlog4j.appender.JSA.DatePattern=.yyyy-MM-dd\nlog4j.appender.JSA.layout=org.apache.log4j.PatternLayout\nlog4j.logger.org.apache.hadoop.yarn.server.resourcemanager.RMAppManager$ApplicationSummary=${yarn.server.resourcemanager.appsummary.logger}\nlog4j.additivity.org.apache.hadoop.yarn.server.resourcemanager.RMAppManager$ApplicationSummary=false\n\n# Appender for viewing information for errors and warnings\nyarn.ewma.cleanupInterval=300\nyarn.ewma.messageAgeLimitSeconds=86400\nyarn.ewma.maxUniqueMessages=250\nlog4j.appender.EWMA=org.apache.hadoop.yarn.util.Log4jWarningErrorMetricsAppender\nlog4j.appender.EWMA.cleanupInterval=${yarn.ewma.cleanupInterval}\nlog4j.appender.EWMA.messageAgeLimitSeconds=${yarn.ewma.messageAgeLimitSeconds}\nlog4j.appender.EWMA.maxUniqueMessages=${yarn.ewma.maxUniqueMessages}\n\n# Audit logging for ResourceManager\nrm.audit.logger=${hadoop.root.logger}\nlog4j.logger.org.apache.hadoop.yarn.server.resourcemanager.RMAuditLogger=${rm.audit.logger}\nlog4j.additivity.org.apache.hadoop.yarn.server.resourcemanager.RMAuditLogger=false\nlog4j.appender.RMAUDIT=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.RMAUDIT.File=${yarn.log.dir}/rm-audit.log\nlog4j.appender.RMAUDIT.layout=org.apache.log4j.PatternLayout\nlog4j.appender.RMAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n\nlog4j.appender.RMAUDIT.DatePattern=.yyyy-MM-dd\n\n# Audit logging for NodeManager\nnm.audit.logger=${hadoop.root.logger}\nlog4j.logger.org.apache.hadoop.yarn.server.nodemanager.NMAuditLogger=${nm.audit.logger}\nlog4j.additivity.org.apache.hadoop.yarn.server.nodemanager.NMAuditLogger=false\nlog4j.appender.NMAUDIT=org.apache.log4j.DailyRollingFileAppender\nlog4j.appender.NMAUDIT.File=${yarn.log.dir}/nm-audit.log\nlog4j.appender.NMAUDIT.layout=org.apache.log4j.PatternLayout\nlog4j.appender.NMAUDIT.layout.ConversionPattern=%d{ISO8601} %p %c{2}: %m%n\nlog4j.appender.NMAUDIT.DatePattern=.yyyy-MM-dd"
        }
      }
    },
    {
      "mapred-env" : {
        "properties_attributes" : { },
        "properties" : {
          "jobhistory_heapsize" : "900",
          "mapred_user_nofile_limit" : "32768",
          "mapred_user" : "mapred",
          "mapred_user_nproc_limit" : "65536",
          "mapred_pid_dir_prefix" : "/var/run/hadoop-mapreduce",
{% endraw %}
          "mapred_log_dir_prefix" : "{{ var_opt_hosting }}log/hadoop-mapreduce",
{% raw %}
          "content" : "\n# export JAVA_HOME=/home/y/libexec/jdk1.6.0/\n\nexport HADOOP_JOB_HISTORYSERVER_HEAPSIZE={{jobhistory_heapsize}}\n\nexport HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA\n\n#export HADOOP_JOB_HISTORYSERVER_OPTS=\n#export HADOOP_MAPRED_LOG_DIR=\"\" # Where log files are stored.  $HADOOP_MAPRED_HOME/logs by default.\n#export HADOOP_JHS_LOGGER=INFO,RFA # Hadoop JobSummary logger.\n#export HADOOP_MAPRED_PID_DIR= # The pid files are stored. /tmp by default.\n#export HADOOP_MAPRED_IDENT_STRING= #A string representing this instance of hadoop. $USER by default\n#export HADOOP_MAPRED_NICENESS= #The scheduling priority for daemons. Defaults to 0.\nexport HADOOP_OPTS=\"-Dhdp.version=$HDP_VERSION $HADOOP_OPTS\"\nexport HADOOP_OPTS=\"-Djava.io.tmpdir={{hadoop_java_io_tmpdir}} $HADOOP_OPTS\"\nexport JAVA_LIBRARY_PATH=\"${JAVA_LIBRARY_PATH}:{{hadoop_java_io_tmpdir}}\""
        }
      }
    },
    {
      "cluster-env" : {
        "properties_attributes" : { },
        "properties" : {
          "recovery_max_count" : "6",
          "manage_dirs_on_root" : "true",
          "managed_hdfs_resource_property_names" : "",
          "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\": \"Ambari Infra Service support\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"falcon_atlas_support_2_3\",\n      \"description\": \"Falcon Atlas integration support for 2.3 stack\",\n      \"min_version\": \"2.3.99.0\",\n      \"max_version\": \"2.4.0.0\"\n    },\n    {\n      \"name\": \"falcon_atlas_support\",\n      \"description\": \"Falcon Atlas integration\",\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\": \"atlas_conf_dir_in_path\",\n      \"description\": \"Prepend the Atlas conf dir (/etc/atlas/conf) to the classpath of Storm and Falcon\",\n      \"min_version\": \"2.3.0.0\",\n      \"max_version\": \"2.4.99.99\"\n    },\n    {\n      \"name\": \"atlas_upgrade_support\",\n      \"description\": \"Atlas supports express and rolling upgrades\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"atlas_hook_support\",\n      \"description\": \"Atlas support for hooks in Hive, Storm, Falcon, and Sqoop\",\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      \"name\": \"ranger_admin_password_change\",\n      \"description\": \"Allow ranger admin credentials to be specified during cluster creation (AMBARI-17000)\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"storm_metrics_apache_classes\",\n      \"description\": \"Metrics sink for Storm that uses Apache class names\",\n      \"min_version\": \"2.5.0.0\"\n    },\n    {\n      \"name\": \"spark_java_opts_support\",\n      \"description\": \"Allow Spark to generate java-opts file\",\n      \"min_version\": \"2.2.0.0\",\n      \"max_version\": \"2.4.0.0\"\n    },\n    {\n      \"name\": \"atlas_hbase_setup\",\n      \"description\": \"Use script to create Atlas tables in Hbase and set permissions for Atlas user.\",\n      \"min_version\": \"2.5.0.0\"\n    }\n  ]\n}",
          "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}",
          "repo_ubuntu_template" : "{{package_type}} {{base_url}} {{components}}",
          "stack_root" : "/usr/hdp",
          "fetch_nonlocal_groups" : "true",
          "one_dir_per_partition" : "false",
          "kerberos_domain" : "EXAMPLE.COM",
          "ignore_bad_mounts" : "false",
          "user_group" : "hadoop",
          "override_uid" : "true",
          "security_enabled" : "false",
          "recovery_lifetime_max_count" : "1024",
          "recovery_type" : "AUTO_START",
          "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",
          "recovery_enabled" : "true",
          "smokeuser" : "ambari-qa",
          "smokeuser_keytab" : "/etc/security/keytabs/smokeuser.headless.keytab",
          "alerts_repeat_tolerance" : "1",
          "recovery_window_in_minutes" : "60",
          "ignore_groupsusers_create" : "false"
        }
      }
    },
    {
      "hive-env" : {
        "properties_attributes" : { },
        "properties" : {
          "hive_database" : "Existing MySQL Database",
{% endraw %}
          "hcat_log_dir" : "{{ var_opt_hosting_log }}/webhcat",
{% raw %}
          "hive_exec_orc_storage_strategy" : "SPEED",
          "webhcat_user" : "hcat",
{% endraw %}
          "hive_log_dir" : "{{ var_opt_hosting_log }}/hive",
{% raw %}
          "hive_user" : "hive",
          "hive_security_authorization" : "None",
          "hive_user_nproc_limit" : "16000",
          "hive.metastore.heapsize" : "1836",
          "content" : "\n      export HADOOP_USER_CLASSPATH_FIRST=true  #this prevents old metrics libs from mapreduce lib from bringing in old jar deps overriding HIVE_LIB\n      if [ \"$SERVICE\" = \"cli\" ]; then\n      if [ -z \"$DEBUG\" ]; then\n      export HADOOP_OPTS=\"$HADOOP_OPTS -XX:NewRatio=12 -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:+UseNUMA -XX:+UseParallelGC -XX:-UseGCOverheadLimit\"\n      else\n      export HADOOP_OPTS=\"$HADOOP_OPTS -XX:NewRatio=12 -XX:MaxHeapFreeRatio=40 -XX:MinHeapFreeRatio=15 -XX:-UseGCOverheadLimit\"\n      fi\n      fi\n\n      # The heap size of the jvm stared by hive shell script can be controlled via:\n\n      if [ \"$SERVICE\" = \"metastore\" ]; then\n      export HADOOP_HEAPSIZE={{hive_metastore_heapsize}} # Setting for HiveMetastore\n      else\n      export HADOOP_HEAPSIZE={{hive_heapsize}} # Setting for HiveServer2 and Client\n      fi\n\n      export HADOOP_CLIENT_OPTS=\"$HADOOP_CLIENT_OPTS  -Xmx${HADOOP_HEAPSIZE}m\"\n\n      # Larger heap size may be required when running queries over large number of files or partitions.\n      # By default hive shell scripts use a heap size of 256 (MB).  Larger heap size would also be\n      # appropriate for hive server (hwi etc).\n\n\n      # Set HADOOP_HOME to point to a specific hadoop install directory\n      HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\n\n      export HIVE_HOME=${HIVE_HOME:-{{hive_home_dir}}}\n\n      # Hive Configuration Directory can be controlled by:\n      export HIVE_CONF_DIR=${HIVE_CONF_DIR:-{{hive_config_dir}}}\n\n      # Folder containing extra libraries required for hive compilation/execution can be controlled by:\n      if [ \"${HIVE_AUX_JARS_PATH}\" != \"\" ]; then\n      if [ -f \"${HIVE_AUX_JARS_PATH}\" ]; then\n      export HIVE_AUX_JARS_PATH=${HIVE_AUX_JARS_PATH}\n      elif [ -d \"/usr/hdp/current/hive-webhcat/share/hcatalog\" ]; then\n      export HIVE_AUX_JARS_PATH=/usr/hdp/current/hive-webhcat/share/hcatalog/hive-hcatalog-core.jar\n      fi\n      elif [ -d \"/usr/hdp/current/hive-webhcat/share/hcatalog\" ]; then\n      export HIVE_AUX_JARS_PATH=/usr/hdp/current/hive-webhcat/share/hcatalog/hive-hcatalog-core.jar\n      fi\n\n      export METASTORE_PORT={{hive_metastore_port}}\n\n      {% if sqla_db_used or lib_dir_available %}\n      export LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH:{{jdbc_libs_dir}}\"\n      export JAVA_LIBRARY_PATH=\"$JAVA_LIBRARY_PATH:{{jdbc_libs_dir}}\"\n      {% endif %}",
          "hive_timeline_logging_enabled" : "true",
          "hive_txn_acid" : "off",
          "hive.client.heapsize" : "1024",
          "hive.heapsize" : "5508",
          "hive_database_name" : "hive",
          "hive_database_type" : "mysql",
          "hive_user_nofile_limit" : "32000",
          "hive_pid_dir" : "/var/run/hive",
          "hcat_user" : "hcat",
          "hive_ambari_database" : "MySQL",
          "hcat_pid_dir" : "/var/run/webhcat"
        }
      }
    },
    {
      "spark-javaopts-properties" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : " "
        }
      }
    },
    {
      "ams-grafana-env" : {
        "properties_attributes" : { },
        "properties" : {
{% endraw %}
          "metrics_grafana_log_dir" : "{{ var_opt_hosting_log }}/ambari-metrics-grafana",
{% raw %}
          "metrics_grafana_pid_dir" : "/var/run/ambari-metrics-grafana",
          "content" : "\n# Set environment variables here.\n\n# AMS UI Server Home Dir\nexport AMS_GRAFANA_HOME_DIR={{ams_grafana_home_dir}}\n\n# AMS UI Server Data Dir\nexport AMS_GRAFANA_DATA_DIR={{ams_grafana_data_dir}}\n\n# AMS UI Server Log Dir\nexport AMS_GRAFANA_LOG_DIR={{ams_grafana_log_dir}}\n\n# AMS UI Server PID Dir\nexport AMS_GRAFANA_PID_DIR={{ams_grafana_pid_dir}}",
          "metrics_grafana_data_dir" : "/var/lib/ambari-metrics-grafana",
          "metrics_grafana_username" : "admin"
        }
      }
    },
    {
      "hive-interactive-site" : {
        "properties_attributes" : { },
        "properties" : {
          "hive.llap.client.consistent.splits" : "true",
          "hive.llap.daemon.yarn.container.mb" : "341",
          "hive.llap.io.memory.size" : "0",
          "hive.llap.task.scheduler.locality.delay" : "-1",
          "hive.vectorized.execution.reduce.enabled" : "true",
          "hive.llap.daemon.rpc.port" : "15001",
          "hive.execution.mode" : "llap",
          "hive.exec.orc.split.strategy" : "HYBRID",
          "hive.llap.daemon.allow.permanent.fns" : "false",
          "hive.llap.io.enabled" : "true",
          "hive.vectorized.execution.mapjoin.native.fast.hashtable.enabled" : "true",
          "hive.optimize.dynamic.partition.hashjoin" : "true",
          "hive.mapjoin.hybridgrace.hashtable" : "false",
          "hive.execution.engine" : "tez",
          "hive.llap.object.cache.enabled" : "true",
          "hive.llap.daemon.queue.name" : "default",
          "hive.metastore.uris" : "",
          "hive.llap.auto.allow.uber" : "false",
          "hive.server2.webui.port" : "10502",
          "hive.llap.daemon.num.executors" : "1",
          "hive.llap.daemon.task.scheduler.enable.preemption" : "true",
          "hive.llap.io.use.lrfu" : "true",
          "hive.vectorized.execution.mapjoin.native.enabled" : "true",
          "hive.metastore.event.listeners" : "",
          "hive.server2.tez.default.queues" : "default",
          "hive.llap.zk.sm.connectionString" : "%HOSTGROUP::master03%:2181,%HOSTGROUP::master02%:2181,%HOSTGROUP::master01%:2181",
          "hive.server2.tez.sessions.per.default.queue" : "1",
          "hive.server2.webui.use.ssl" : "false",
          "hive.llap.management.rpc.port" : "15004",
          "hive.server2.thrift.http.port" : "10501",
          "hive.prewarm.enabled" : "false",
          "llap.shuffle.connection-keep-alive.timeout" : "60",
          "hive.llap.execution.mode" : "all",
          "hive.llap.daemon.yarn.shuffle.port" : "15551",
          "hive.llap.daemon.vcpus.per.instance" : "${hive.llap.daemon.num.executors}",
          "hive.llap.io.memory.mode" : "",
          "hive.server2.thrift.port" : "10500",
          "hive.driver.parallel.compilation" : "true",
          "hive.tez.exec.print.summary" : "true",
          "hive.tez.input.generate.consistent.splits" : "true",
          "hive.vectorized.execution.mapjoin.minmax.enabled" : "true",
          "hive.server2.enable.doAs" : "false",
          "hive.server2.zookeeper.namespace" : "hiveserver2-hive2",
          "hive.tez.bucket.pruning" : "true",
          "hive.llap.io.threadpool.size" : "2",
          "llap.shuffle.connection-keep-alive.enable" : "true",
          "hive.llap.daemon.service.hosts" : "@llap0",
          "hive.server2.tez.initialize.default.sessions" : "true"
        }
      }
    },
    {
      "ranger-hive-audit" : {
        "properties_attributes" : { },
        "properties" : { }
      }
    },
    {
      "spark-env" : {
        "properties_attributes" : { },
        "properties" : {
          "spark_user" : "spark",
          "spark_group" : "spark",
          "spark_pid_dir" : "/var/run/spark",
          "spark_thrift_cmd_opts" : "",
          "spark_daemon_memory" : "1024",
          "hive_kerberos_principal" : "{{hive_kerberos_principal}}",
          "hive_kerberos_keytab" : "{{hive_kerberos_keytab}}",
{% endraw %}
          "spark_log_dir" : "{{ var_opt_hosting_log }}/spark",
{% raw %}
          "content" : "\n#!/usr/bin/env bash\n\n# This file is sourced when running various Spark programs.\n# Copy it as spark-env.sh and edit that to configure Spark for your site.\n\n# Options read in YARN client mode\n#SPARK_EXECUTOR_INSTANCES=\"2\" #Number of workers to start (Default: 2)\n#SPARK_EXECUTOR_CORES=\"1\" #Number of cores for the workers (Default: 1).\n#SPARK_EXECUTOR_MEMORY=\"1G\" #Memory per Worker (e.g. 1000M, 2G) (Default: 1G)\n#SPARK_DRIVER_MEMORY=\"512M\" #Memory for Master (e.g. 1000M, 2G) (Default: 512 Mb)\n#SPARK_YARN_APP_NAME=\"spark\" #The name of your application (Default: Spark)\n#SPARK_YARN_QUEUE=\"~@~Xdefault~@~Y\" #The hadoop queue to use for allocation requests (Default: @~Xdefault~@~Y)\n#SPARK_YARN_DIST_FILES=\"\" #Comma separated list of files to be distributed with the job.\n#SPARK_YARN_DIST_ARCHIVES=\"\" #Comma separated list of archives to be distributed with the job.\n\n# Generic options for the daemons used in the standalone deploy mode\n\n# Alternate conf dir. (Default: ${SPARK_HOME}/conf)\nexport SPARK_CONF_DIR=${SPARK_CONF_DIR:-{{spark_home}}/conf}\n\n# Where log files are stored.(Default:${SPARK_HOME}/logs)\n#export SPARK_LOG_DIR=${SPARK_HOME:-{{spark_home}}}/logs\nexport SPARK_LOG_DIR={{spark_log_dir}}\n\n# Where the pid file is stored. (Default: /tmp)\nexport SPARK_PID_DIR={{spark_pid_dir}}\n\n# A string representing this instance of spark.(Default: $USER)\nSPARK_IDENT_STRING=$USER\n\n# The scheduling priority for daemons. (Default: 0)\nSPARK_NICENESS=0\n\nexport HADOOP_HOME=${HADOOP_HOME:-{{hadoop_home}}}\nexport HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-{{hadoop_conf_dir}}}\n\n# The java implementation to use.\nexport JAVA_HOME={{java_home}}\n\n#Memory for Master, Worker and history server (default: 1024MB)\nexport SPARK_DAEMON_MEMORY={{spark_daemon_memory}}m\n\nif [ -d \"/etc/tez/conf/\" ]; then\n  export TEZ_CONF_DIR=/etc/tez/conf\nelse\n  export TEZ_CONF_DIR=\nfi"
        }
      }
    },
    {
      "ranger-hive-security" : {
        "properties_attributes" : { },
        "properties" : { }
      }
    },
    {
      "slider-log4j" : {
        "properties_attributes" : { },
        "properties" : {
          "content" : "\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# Define some default values that can be overridden by system properties\nlog4j.rootLogger=INFO,stdout\nlog4j.threshhold=ALL\nlog4j.appender.stdout=org.apache.log4j.ConsoleAppender\nlog4j.appender.stdout.layout=org.apache.log4j.PatternLayout\n\n# log layout skips stack-trace creation operations by avoiding line numbers and method\nlog4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} - %m%n\n\n# debug edition is much more expensive\n#log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} (%F:%M(%L)) - %m%n\n\n\nlog4j.appender.subprocess=org.apache.log4j.ConsoleAppender\nlog4j.appender.subprocess.layout=org.apache.log4j.PatternLayout\nlog4j.appender.subprocess.layout.ConversionPattern=[%c{1}]: %m%n\n#log4j.logger.org.apache.slider.yarn.appmaster.SliderAppMasterer.master=INFO,subprocess\n\n# for debugging Slider\n#log4j.logger.org.apache.slider=DEBUG\n#log4j.logger.org.apache.slider=DEBUG\n\n# uncomment to debug service lifecycle issues\n#log4j.logger.org.apache.hadoop.yarn.service.launcher=DEBUG\n#log4j.logger.org.apache.hadoop.yarn.service=DEBUG\n\n# uncomment for YARN operations\n#log4j.logger.org.apache.hadoop.yarn.client=DEBUG\n\n# uncomment this to debug security problems\n#log4j.logger.org.apache.hadoop.security=DEBUG\n\n#crank back on some noise\nlog4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR\nlog4j.logger.org.apache.hadoop.hdfs=WARN\n\n\nlog4j.logger.org.apache.hadoop.yarn.server.nodemanager.containermanager.monitor=WARN\nlog4j.logger.org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl=WARN\nlog4j.logger.org.apache.zookeeper=WARN"
        }
      }
    },
    {
      "spark-defaults" : {
        "properties_attributes" : { },
        "properties" : {
          "spark.history.kerberos.keytab" : "none",
          "spark.yarn.driver.memoryOverhead" : "384",
          "spark.driver.extraLibraryPath" : "{{spark_hadoop_lib_native}}",
          "spark.executor.extraLibraryPath" : "{{spark_hadoop_lib_native}}",
          "spark.history.kerberos.principal" : "none",
          "spark.history.provider" : "org.apache.spark.deploy.history.FsHistoryProvider",
          "spark.yarn.scheduler.heartbeat.interval-ms" : "5000",
          "spark.history.ui.port" : "18080",
          "spark.eventLog.dir" : "hdfs:///spark-history",
          "spark.eventLog.enabled" : "true",
          "spark.yarn.historyServer.address" : "{{spark_history_server_host}}:{{spark_history_ui_port}}",
          "spark.yarn.executor.memoryOverhead" : "384",
          "spark.yarn.preserve.staging.files" : "false",
          "spark.history.fs.logDirectory" : "hdfs:///spark-history",
          "spark.yarn.containerLauncherMaxThreads" : "25",
          "spark.yarn.queue" : "default",
          "spark.yarn.submit.file.replication" : "3"
        }
      }
    }
  ],
  "host_groups" : [
    {
      "components" : [
        {
          "name" : "NODEMANAGER"
        },
        {
          "name" : "HDFS_CLIENT"
        },
        {
          "name" : "HIVE_SERVER"
        },
        {
          "name" : "METRICS_MONITOR"
        },
        {
          "name" : "NAMENODE"
        },
        {
          "name" : "ZOOKEEPER_CLIENT"
        },
        {
          "name" : "PIG"
        },
        {
          "name" : "WEBHCAT_SERVER"
        },
        {
          "name" : "MAPREDUCE2_CLIENT"
        },
        {
          "name" : "ZOOKEEPER_SERVER"
        },
        {
          "name" : "AMBARI_SERVER"
        },
        {
          "name" : "SPARK_JOBHISTORYSERVER"
        },
        {
          "name" : "SPARK_THRIFTSERVER"
        },
        {
          "name" : "APP_TIMELINE_SERVER"
        },
        {
          "name" : "RESOURCEMANAGER"
        }
      ],
      "configurations" : [ ],
      "name" : "master01",
      "cardinality" : "1"
    },
    {
      "components" : [
        {
          "name" : "MAPREDUCE2_CLIENT"
        },
        {
          "name" : "SLIDER"
        },
        {
          "name" : "SPARK_CLIENT"
        },
        {
          "name" : "YARN_CLIENT"
        },
        {
          "name" : "HDFS_CLIENT"
        },
        {
          "name" : "DATANODE"
        },
        {
          "name" : "METRICS_MONITOR"
        },
        {
          "name" : "TEZ_CLIENT"
        },
        {
          "name" : "ZOOKEEPER_CLIENT"
        },
        {
          "name" : "HIVE_CLIENT"
        },
        {
          "name" : "HCAT"
        },
        {
          "name" : "PIG"
        }
      ],
      "configurations" : [ ],
      "name" : "hubs",
      "cardinality" : "3"
    },
    {
      "components" : [
        {
          "name" : "NODEMANAGER"
        },
        {
          "name" : "SPARK_CLIENT"
        },
        {
          "name" : "ZOOKEEPER_CLIENT"
        },
        {
          "name" : "METRICS_MONITOR"
        },
        {
          "name" : "HIVE_METASTORE"
        },
        {
          "name" : "TEZ_CLIENT"
        },
        {
          "name" : "METRICS_COLLECTOR"
        }
      ],
      "configurations" : [ ],
      "name" : "master03",
      "cardinality" : "1"
    },
    {
      "components" : [
        {
          "name" : "NODEMANAGER"
        },
        {
          "name" : "SECONDARY_NAMENODE"
        },
        {
          "name" : "MAPREDUCE2_CLIENT"
        },
        {
          "name" : "YARN_CLIENT"
        },
        {
          "name" : "HDFS_CLIENT"
        },
        {
          "name" : "ZOOKEEPER_SERVER"
        },
        {
          "name" : "HISTORYSERVER"
        },
        {
          "name" : "METRICS_MONITOR"
        },
        {
          "name" : "SPARK_THRIFTSERVER"
        },
        {
          "name" : "TEZ_CLIENT"
        },
        {
          "name" : "METRICS_GRAFANA"
        }
      ],
      "configurations" : [ ],
      "name" : "master02",
      "cardinality" : "1"
    }
  ],
  "Blueprints" : {
    "stack_name" : "HDP",
    "stack_version" : "2.5"
  }
}
{% endraw %}

Highlighted

Re: Issue HIVE-CLIENT when trying to deploy a cluster with blueprint

@Ahmed ELJAMI I see that your blueprint does not have such a property jdbc_jar_name. Can you please share the ambari-server logs as well? What is your ambari version?

Can you also try

"hive-env": {

"hive_database": "Existing MySQL Database",

replace with -> "Existing MySQL / MariaDB Database"

Let me know if it works.

Don't have an account?