blob: a3f21494bee13b5a0170f2f6b8d2326bab6fbec3 [file] [log] [blame]
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<configuration supports_final="false" supports_adding_forbidden="false">
<property>
<name>hive_llap_log_maxfilesize</name>
<value>256</value>
<description>The maximum size of backup file before the log is rotated</description>
<display-name>Hive LLAP Log: backup file size</display-name>
<value-attributes>
<unit>MB</unit>
</value-attributes>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>hive_llap_log_maxbackupindex</name>
<value>240</value>
<description>The number of backup files</description>
<display-name>Hive LLAP Log: # of backup files</display-name>
<value-attributes>
<type>int</type>
<minimum>0</minimum>
</value-attributes>
<on-ambari-upgrade add="false"/>
</property>
<property>
<name>content</name>
<display-name>llap-deamon-log4j template</display-name>
<description>Custom llap-daemon-log4j2.properties</description>
<value>
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This is the log4j2 properties file used by llap-daemons. There's several loggers defined, which
# can be selected while configuring LLAP.
# Based on the one selected - UI links etc need to be manipulated in the system.
# Note: Some names and logic is common to this file and llap LogHelpers. Make sure to change that
# as well, if changing this file.
status = INFO
name = LlapDaemonLog4j2
packages = org.apache.hadoop.hive.ql.log
# list of properties
property.llap.daemon.log.level = {{hive_log_level}}
property.llap.daemon.root.logger = console
property.llap.daemon.log.dir = .
property.llap.daemon.log.file = llapdaemon.log
property.llap.daemon.historylog.file = llapdaemon_history.log
property.llap.daemon.log.maxfilesize = {{hive_llap_log_maxfilesize}}MB
property.llap.daemon.log.maxbackupindex = {{hive_llap_log_maxbackupindex}}
# list of all appenders
appenders = console, RFA, HISTORYAPPENDER, query-routing
# console appender
appender.console.type = Console
appender.console.name = console
appender.console.target = SYSTEM_ERR
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d{ISO8601} %5p [%t (%X{fragmentId})] %c{2}: %m%n
# rolling file appender
appender.RFA.type = RollingRandomAccessFile
appender.RFA.name = RFA
appender.RFA.fileName = ${sys:llap.daemon.log.dir}/${sys:llap.daemon.log.file}
appender.RFA.filePattern = ${sys:llap.daemon.log.dir}/${sys:llap.daemon.log.file}_%d{yyyy-MM-dd-HH}_%i.done
appender.RFA.layout.type = PatternLayout
appender.RFA.layout.pattern = %d{ISO8601} %-5p [%t (%X{fragmentId})] %c: %m%n
appender.RFA.policies.type = Policies
appender.RFA.policies.time.type = TimeBasedTriggeringPolicy
appender.RFA.policies.time.interval = 1
appender.RFA.policies.time.modulate = true
appender.RFA.policies.size.type = SizeBasedTriggeringPolicy
appender.RFA.policies.size.size = ${sys:llap.daemon.log.maxfilesize}
appender.RFA.strategy.type = DefaultRolloverStrategy
appender.RFA.strategy.max = ${sys:llap.daemon.log.maxbackupindex}
# history file appender
appender.HISTORYAPPENDER.type = RollingRandomAccessFile
appender.HISTORYAPPENDER.name = HISTORYAPPENDER
appender.HISTORYAPPENDER.fileName = ${sys:llap.daemon.log.dir}/${sys:llap.daemon.historylog.file}
appender.HISTORYAPPENDER.filePattern = ${sys:llap.daemon.log.dir}/${sys:llap.daemon.historylog.file}_%d{yyyy-MM-dd}_%i.done
appender.HISTORYAPPENDER.layout.type = PatternLayout
appender.HISTORYAPPENDER.layout.pattern = %m%n
appender.HISTORYAPPENDER.policies.type = Policies
appender.HISTORYAPPENDER.policies.size.type = SizeBasedTriggeringPolicy
appender.HISTORYAPPENDER.policies.size.size = ${sys:llap.daemon.log.maxfilesize}
appender.HISTORYAPPENDER.policies.time.type = TimeBasedTriggeringPolicy
appender.HISTORYAPPENDER.policies.time.interval = 1
appender.HISTORYAPPENDER.policies.time.modulate = true
appender.HISTORYAPPENDER.strategy.type = DefaultRolloverStrategy
appender.HISTORYAPPENDER.strategy.max = ${sys:llap.daemon.log.maxbackupindex}
# queryId based routing file appender
appender.query-routing.type = Routing
appender.query-routing.name = query-routing
appender.query-routing.routes.type = Routes
appender.query-routing.routes.pattern = $${ctx:queryId}
#Purge polciy for query-based Routing Appender
appender.query-routing.purgePolicy.type = LlapRoutingAppenderPurgePolicy
# Note: Do not change this name without changing the corresponding entry in LlapConstants
appender.query-routing.purgePolicy.name = llapLogPurgerQueryRouting
# default route
appender.query-routing.routes.route-default.type = Route
appender.query-routing.routes.route-default.key = $${ctx:queryId}
appender.query-routing.routes.route-default.ref = RFA
# queryId based route
appender.query-routing.routes.route-mdc.type = Route
appender.query-routing.routes.route-mdc.file-mdc.type = LlapWrappedAppender
appender.query-routing.routes.route-mdc.file-mdc.name = IrrelevantName-query-routing
appender.query-routing.routes.route-mdc.file-mdc.app.type = RandomAccessFile
appender.query-routing.routes.route-mdc.file-mdc.app.name = file-mdc
appender.query-routing.routes.route-mdc.file-mdc.app.fileName = ${sys:llap.daemon.log.dir}/${ctx:queryId}-${ctx:dagId}.log
appender.query-routing.routes.route-mdc.file-mdc.app.layout.type = PatternLayout
appender.query-routing.routes.route-mdc.file-mdc.app.layout.pattern = %d{ISO8601} %5p [%t (%X{fragmentId})] %c{2}: %m%n
# list of all loggers
loggers = PerfLogger, EncodedReader, NIOServerCnxn, ClientCnxnSocketNIO, DataNucleus, Datastore, JPOX, HistoryLogger, LlapIoImpl, LlapIoOrc, LlapIoCache, LlapIoLocking, TezSM, TezSS, TezHC
logger.TezSM.name = org.apache.tez.runtime.library.common.shuffle.impl.ShuffleManager.fetch
logger.TezSM.level = WARN
logger.TezSS.name = org.apache.tez.runtime.library.common.shuffle.orderedgrouped.ShuffleScheduler.fetch
logger.TezSS.level = WARN
logger.TezHC.name = org.apache.tez.http.HttpConnection.url
logger.TezHC.level = WARN
logger.PerfLogger.name = org.apache.hadoop.hive.ql.log.PerfLogger
logger.PerfLogger.level = DEBUG
logger.EncodedReader.name = org.apache.hadoop.hive.ql.io.orc.encoded.EncodedReaderImpl
logger.EncodedReader.level = INFO
logger.LlapIoImpl.name = LlapIoImpl
logger.LlapIoImpl.level = INFO
logger.LlapIoOrc.name = LlapIoOrc
logger.LlapIoOrc.level = WARN
logger.LlapIoCache.name = LlapIoCache
logger.LlapIoCache.level = WARN
logger.LlapIoLocking.name = LlapIoLocking
logger.LlapIoLocking.level = WARN
logger.NIOServerCnxn.name = org.apache.zookeeper.server.NIOServerCnxn
logger.NIOServerCnxn.level = WARN
logger.ClientCnxnSocketNIO.name = org.apache.zookeeper.ClientCnxnSocketNIO
logger.ClientCnxnSocketNIO.level = WARN
logger.DataNucleus.name = DataNucleus
logger.DataNucleus.level = ERROR
logger.Datastore.name = Datastore
logger.Datastore.level = ERROR
logger.JPOX.name = JPOX
logger.JPOX.level = ERROR
logger.HistoryLogger.name = org.apache.hadoop.hive.llap.daemon.HistoryLogger
logger.HistoryLogger.level = INFO
logger.HistoryLogger.additivity = false
logger.HistoryLogger.appenderRefs = HistoryAppender
logger.HistoryLogger.appenderRef.HistoryAppender.ref = HISTORYAPPENDER
# root logger
rootLogger.level = ${sys:llap.daemon.log.level}
rootLogger.appenderRefs = root
rootLogger.appenderRef.root.ref = ${sys:llap.daemon.root.logger}
</value>
<value-attributes>
<type>content</type>
<show-property-name>false</show-property-name>
</value-attributes>
<on-ambari-upgrade add="false"/>
</property>
</configuration>