java - 在 Hive 中禁用信息日志
问题描述
我已经将 Hive(3.1.2 版)和 hadoop(3.2.1 版)一起安装为单节点集群。每当我登录到 hive shell 并执行显示数据库的基本查询时,我都会得到一堆我想隐藏的 INFO 日志。
2021-05-26T16:12:44,244 INFO [main] org.apache.hadoop.hive.conf.HiveConf - Using the default value passed in for log id: f7369a83-e107-48ed-91cc-569ba580c7c8
2021-05-26T16:12:44,244 INFO [main] org.apache.hadoop.hive.ql.session.SessionState - Updating thread name to f7369a83-e107-48ed-91cc-569ba580c7c8 main
OK
default
development
retail_ods
retail_stage
Time taken: 0.026 seconds, Fetched: 4 row(s)
2021-05-26T16:12:44,285 INFO [f7369a83-e107-48ed-91cc-569ba580c7c8 main] org.apache.hadoop.hive.conf.HiveConf - Using the default value passed in for log id: f7369a83-e107-48ed-91cc-569ba580c7c8
2021-05-26T16:12:44,285 INFO [f7369a83-e107-48ed-91cc-569ba580c7c8 main] org.apache.hadoop.hive.ql.session.SessionState - Resetting thread name to main
这是我的 hive-log4j2.properties 文件。我已将日志级别更改为 ERROR,但它不起作用。
hive.root.logger=ERROR,DRFA
hive.log.dir=${java.io.tmpdir}/${user.name}
hive.log.file=hive.log
log4j.rootLogger=${hive.root.logger}, EventCounter
log4j.threshold=${hive.log.threshold}
log4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DRFA.File=${hive.log.dir}/${hive.log.file}
log4j.appender.DRFA.DatePattern=.yyyy-MM-dd
log4j.appender.DRFA.MaxBackupIndex= 10
log4j.appender.DRFA.MaxFileSize = 100MB
log4j.appender.DRFA.layout=org.apache.log4j.PatternLayout
log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p [%t]: %c{2} (%F:%M(%L)) - %m%n
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} [%t]: %p %c{2}: %m%n
log4j.appender.console.encoding=UTF-8
log4j.appender.EventCounter=org.apache.hadoop.hive.shims.HiveEventCounter
log4j.category.DataNucleus=ERROR,DRFA
log4j.category.Datastore=ERROR,DRFA
log4j.category.Datastore.Schema=ERROR,DRFA
log4j.category.JPOX.Datastore=ERROR,DRFA
log4j.category.JPOX.Plugin=ERROR,DRFA
log4j.category.JPOX.MetaData=ERROR,DRFA
log4j.category.JPOX.Query=ERROR,DRFA
log4j.category.JPOX.General=ERROR,DRFA
log4j.category.JPOX.Enhancer=ERROR,DRFA
log4j.logger.org.apache.zookeeper.server.NIOServerCnxn=WARN,DRFA
log4j.logger.org.apache.zookeeper.ClientCnxnSocketNIO=WARN,DRFA
请让我知道如何将所有这些 INFO 日志隐藏在 hive shell 中。
解决方案
在hive-site.xml(安装文件夹的/conf目录内)添加此属性后,我的工作:
<property>
<name>hive.async.log.enabled</name>
<value>false</value>
</property>
推荐阅读
- amazon-web-services - Github Webhook 被 AWS CodeBuild 拒绝
- javascript - 局部变量与数据。性能损失巨大
- python - 如何在 Chromedriver 79 中将“useAutomationExtension”设置为 false
- php - 通过直接 URL 访问在 laravel 的会话中保持语言环境
- xaml - Xamarin Xaml 将超过 2 个属性绑定到 TextCell
- python - 如何在使用地图功能时传递 kwargs?
- python - 间歇性成功单击带有硒的按钮
- javascript - 按一个键对数组进行排序但按另一个键列出数组的有效方法?
- facebook - 如何使用 Facebook API 仅在我的页面上发帖?
- multithreading - 如何在两个线程之间共享或避免共享 websocket 资源?