本帖最后由 howtodown 于 2014-10-27 09:48 编辑
问题导读:
1.hive使用什么来输出日志的?
2.hive默认日志存放在什么位置?
3.通过那两种方式,可以修改log4j输出的日志级别?
在很多程序中,我们都可以通过输出日志的形式来得到程序的运行情况,通过这些输出日志来调试程序,Hive也不例外。
在Hive中,使用的是Log4j来输出日志,默认情况下,CLI是不能将日志信息输出到控制台的。在Hive0.13.0之前版本,默认的日志级别是WARN,从Hive0.13.0开始,默认的日志级别是INFO。默认的日志存放在/tmp/文件夹的hive.log文件中,全路径就是/tmp//hive.log。
需要注意的一个bug:在本地模式情况下,log文件名为”.log”,而不是”hive.log”,可以在这里看到https://issues.apache.org/jira/browse/HIVE-5528,这个bug将会在Hive0.13.0中得到解决。
在默认的日志级别情况下,是不能将DEBUG信息输出,这样一来出现的各种详细的错误信息都是不能数错的。但是我们可以通过以下两种方式修改log4j输出的日志级别,从而利用这些调试日志进行错误定位,具体做法如下:
[wyp@l-datalog5.data.cn1 ~]$ hive --hiveconf hive.root.logger=DEBUG,console复制代码或者在${HIVE_HOME}/conf/hive-