Hive - 日志依赖包冲突解决、以及日志配置教程
一、日志依赖包冲突解决
1,问题描述
当我们每次进入 hive 命令行的时候都会出现下面这么一坨日志,十分影响体验:
2,解决办法
(1)通过红框内容可以看出,这是由于 hive 中的一个日志依赖包和 hadoop 中的日志依赖包冲突,所以需要删除一个。
/usr/local/hive/lib/log4j-slf4j-impl-2.17.1.jar /usr/local/hadoop/share/hadoop/common/lib/slf4j-reload4j-1.7.36.jar
(2)因为 hadoop 是共用的,尽量不要删它里面的东西,因此我们只能去掉 Hive 的了。为了保险起见,我们可以使用 mv 给这个日志依赖包重命名,这样它就不生效了。
cd /usr/local/hive/lib/ mv log4j-slf4j-impl-2.17.1.jar log4j-slf4j-impl-2.17.1.jar.bak
(3)这个时候再进入 hive 命令行就没有那些日志了,剩下的这些属于正常的。
二、日志配置
(1)当我们遇到 Hive 执行发生错误的时候,Hive 日志可以帮助我们及时解决错误。我们可以通过配置文件来找到默认日志文件所在的位置。首先进入在 hive 的 conf 目录:
cd /usr/local/hive/conf/
(2)然后去掉 hive-log4j.properties.template 这个文件的 .template 后缀:
mv hive-log4j2.properties.template hive-log4j2.properties
- 根据需求修改里面的 property.hive.log.level 和 property.hive.log.dir 参数:
(3)接着去掉 hive-exec-log4j2.properties.template 这个文件的.template 后缀:
mv hive-exec-log4j2.properties.template hive-exec-log4j2.properties
- 同样更加需要修改里面的 property.hive.log.level 和 property.hive.log.dir 参数:
(4)这样后期分析日志就可以到我们配置的 /data/hive_repo/log 目录下去查看了: