| <?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> |