Hive中的日志

Hive中的日志分为两种
1. 系统日志,记录了hive的运行情况,错误状况。
2. Job 日志,记录了Hive 中job的执行的历史过程。

1.系统日志

系统日志存储在什么地方呢 ?
在hive/conf/ hive-log4j.properties 文件中记录了Hive日志的存储情况,
默认的存储情况:

hive.root.logger=WARN,DRFA
hive.log.dir=/tmp/${user.name} # 默认的存储位置
hive.log.file=hive.log  # 默认的文件名

2.job日志

Job日志又存储在什么地方呢 ?

//Location of Hive run time structured log file
    HIVEHISTORYFILELOC("hive.querylog.location", "/tmp/" + System.getProperty("user.name")),
默认存储与 /tmp/{user.name}目录下。

在默认的日志级别情况下,是不能将DEBUG信息输出的,这样一来出现的各种详细的错误信息都看不到。
我们可以通过以下两种方式修改log4j输出的日志级别,从而利用这些调试日志进行错误定位,具体做法如下:
 $ hive --hiveconf hive.root.logger=DEBUG,console (hive启动时用该命令替代)

或者在${HIVE_HOME}/conf/hive-log4j.properties文件中找到hive.root.logger属性,并将其修改为下面的设置
hive.root.logger=DEBUG,console

posted @ 2019-06-04 01:37  wqbin  阅读(4322)  评论(0)    收藏  举报