Hive - 如何停止在控制台中显示日志?

时间:2017-03-05 08:57:36

标签: hive apache-hive

我一直在尝试从hive中查询时从控制台发出日志,但它仍在显示。

5 个答案:

答案 0 :(得分:0)

您可以将轮询间隔增加到几分钟或几小时:

SET hive.exec.counters.pull.interval=[millis];

默认值为1000毫秒,但您可以将其增加到任何您喜欢的值。这应该减少写入stdout的日志数量。

答案 1 :(得分:0)

如果您在启动shell时不想在控制台上显示任何日志,则可以设置hive.root.logger属性

$HIVE_HOME/bin/hive --config hive.root.logger=INFO,DRFA
  

hive.root.logger 指定日志记录级别以及日志   目的地即可。将控制台指定为目标会将日志发送到   标准错误(而不是日志文件)。

如果要在控制台上查看ERROR消息,可以设置此命令

$HIVE_HOME/bin/hive --config hive.root.logger=ERROR,console

答案 2 :(得分:0)

如果您通过键入

打开蜂巢控制台
> hive
在您的终端

然后编写查询,您只需使用

即可解决此问题
> hive -S

这基本上意味着您在静默模式下启动配置单元。

希望有所帮助。

答案 3 :(得分:0)

使用静音模式启动蜂巢

$ hive -S

然后将记录器级别设置为错误,这将避免打印警告/信息。

hive> set logger.PerfLogger.level = ERROR;

答案 4 :(得分:0)

如果有“SLF4J:类路径包含多个SLF4J绑定”。在你的日志中,表示类路径中有多个log4j jar(不同版本,不同行为)

我不知道log4j的原理,但是根据Hadoop的配置文件,执行如下步骤:

cd $HIVE_HOME/conf

cat > log4j.properties <<EOL
log4j.rootLogger=WARN, CA

log4j.appender.CA=org.apache.log4j.ConsoleAppender

log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
EOL

启动hive(Hive 3.1.2 Apache)后,日志设置为WARN级别,不一定能用,但可以试试。