【云计算】Hive日志调试实例教程
小标 2018-12-28 来源 : 阅读 483 评论 0

摘要:本文主要向大家介绍了【云计算】Hive日志调试实例教程,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

本文主要向大家介绍了【云计算】Hive日志调试实例教程,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。


在很多程序中,我们都可以通过输出日志的形式来得到程序的运行情况,通过这些输出日志来调试程序,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输出的日志级别,从而利用这些调试日志进行错误定位,具体做法如下:


$ hive --hiveconf hive.root.logger=DEBUG,console


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



hive.root.logger=DEBUG,console


上面两种方法的设置各有优劣,方法一的设定只是对本次会话有效,下次如果还想修改日志输出级别需要重新设定,但是不是每时每刻都需要修改日志的输出级别,所以在有时需要修改输出的日志级别,有时不需要的时候可以用这种方法;方法二将日志输出级别设定到文件中去了,这个设定是对所有的用户都生效,而且每次使用HQL的时候都会输出一大堆的日志,这种情况适合那些无时无刻都需要HQL的运行日志的用户。

  不过,我们可以设定自己的log4j配置文件,通过修改-hiveconf hive.log4j.file=/home/iteblog/hive-log4j.properties参数指定。这样设置对别人不会产生影响。

在《Hive几种参数配置方法》文章中我们介绍了Hive三种参数配置方法,其中就提到了某些系统级的参数,在HQL中设定是无效的。这里就是一个很好的例子。因为设定log的参数读取在会话建立以前已经完成了。这也就说,我们不能通过下面的方法来修改log4j的日志输出级别:



hive> set hiveconf:hive.root.logger=DEBUG,console;


这样你在进入CLI的时候将会得到一些类似下面的调试信息:



[]$ hive
................................为了篇幅,省略了很多............................
13/12/25 15:14:54 DEBUG parse.VariableSubstitution: Substitution is on: hive
................................为了篇幅,省略了很多............................
13/12/25 15:14:54 DEBUG security.Groups:  Creating new Groups object
13/12/25 15:14:54 DEBUG util.NativeCodeLoader: Trying to load the c...
library for your platform... using builtin-java classes where applicable
13/12/25 15:14:54 DEBUG security.JniBasedUnixGroupsMappingWithFallback: 
Falling back to shell based
13/12/25 15:14:54 DEBUG security.JniBasedUnixGroupsMappingWithFallback: 
Group mapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping
13/12/25 15:14:54 DEBUG security.UserGroupInformation: hadoop login
13/12/25 15:14:54 DEBUG security.UserGroupInformation: using local
 user:UnixPrincipal: wyp
13/12/25 15:14:54 DEBUG security.UserGroupInformation: 
UGI loginUser:wyp (auth:SIMPLE)
................................为了篇幅,省略了很多............................


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程