我一直在尝试从hive中查询时从控制台发出日志,但它仍在显示。
答案 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级别,不一定能用,但可以试试。