Hive中的日志分为两种
- 1. 系统日志,记录了hive的运行情况,错误状况。
- 2. Job 日志,记录了Hive 中job的执行的历史过程。
- 1
- 2
- 3
日志查看方法
1,在本地运行机器上
- hive日志存储位置在本机上,不是hadoop上:
- 在hive/conf/ hive-log4j.properties 文件中记录,
- 该文件如果没有,就是使用默认,默认的存储情况:
- hive.root.logger=WARN,DRFA
- hive.log.dir=/tmp/${user.name} # 默认的存储位置
- hive.log.file=hive.log # 默认的文件名
- 1
- 2
- 3
- 4
- 5
- 6
- 7
Job日志存储在:
//Location of Hive run time structured log file
HIVEHISTORYFILELOC(“hive.querylog.location”, “/tmp/” + System.getProperty(“user.name”)),
默认存储在本机 /tmp/{user.name}目录下。
2 在云上jobtrackweb页面上查看
- hadoop的50030/jobtracker.jsp上根据任务id,查询job日志,在map或者reduce节点中,点击对应的all查看系统日志。
- 日志有
- stdout logs
- stderr logs
- syslog logs
- 三种。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
确定map还是reduce节点,主要看任务执行状态,killed和failed是节点看all的内容。
一般代码问题会在map阶段的节点,直接报错
hive执行报错
Failed with exception Unable to move sourcehdfs://namenode/tmp/hive-pmp_bi/
日志中显示 访问权限,当前用户无法访问对应的hive表,没有权限,访问另一个用户的操作表。所以需要为用户添加表权限