Hive禁用历史记录日志和查询日志

时间:2016-02-10 07:30:29

标签: hadoop hive

我们在生产机器上使用配置单元,但它在<script type="text/javascript"> function addLink() { var body_element = document.getElementsByTagName('body')[0]; var selection; selection = window.getSelection(); if(selection.toString().length<20) { return selection; } var pagelink = "<br /><br /> Read more at: <a href='"+document.location.href+"'>"+document.location.href+"</a><br />"; // change this if you want var copytext = selection + pagelink; var newdiv = document.createElement('div'); newdiv.style.position='absolute'; newdiv.style.left='-99999px'; body_element.appendChild(newdiv); newdiv.innerHTML = copytext; selection.selectAllChildren(newdiv); window.setTimeout(function() { body_element.removeChild(newdiv); },0); } document.oncopy = addLink; </script> <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> </script> 目录中生成了大量作业日志。我们希望禁用此日志记录,因为我们不需要它,但无法找到任何禁用它的选项。我们检查的一些答案要求我们修改 hive-log4j.properties 文件。但/tmp/<user.name>/中唯一可用的文件是 hive-site.xml

启动配置单元时,它会提供以下信息:

/usr/lib/hive/conf

所以似乎Logging initialized using configuration in jar:file:/usr/lib/hive/lib/hive-common-0.10.0-cdh4.7.0.jar!/hive-log4j.properties Hive history file=/tmp/adqops/hive_job_log_79c7f1c2-b4e5-4b7b-b2d3-72b032697bb5_1000036406.txt 文件包含在jar中,我们无法对其进行修改。

hive-log4j.properties

非常感谢任何帮助/解决方案。 感谢。

2 个答案:

答案 0 :(得分:1)

由于Hive需要一个自定义属性文件名,我猜你不能使用在命令行上设置-Dlog4j.configuration=my_custom_log4j.properties的常用技巧。

所以我担心您必须使用某个ZIP实用程序编辑hive-common-xxx.jar

  1. 将默认道具文件解压缩到/etc/hive/conf/或其他任何内容 将在CLASSPATH
  2. 的头部的目录
  3. 从JAR中删除文件
  4. 编辑提取的文件
  5. 例如:

    $ unzip -l /blah/blah/blah/hive-common-*.jar  | grep 'log4j\.prop'
         3505  12-02-2015 10:31   hive-log4j.properties
    $ unzip /blah/blah/blah/hive-common-*.jar hive-log4j.properties -d /etc/hive/conf/
    Archive:  /blah/blah/blah/hive-common-1.1.0-cdh5.5.1.jar
      inflating: /etc/hive/conf/hive-log4j.properties
    $ zip -d /blah/blah/blah/hive-common-*.jar hive-log4j.properties 
    deleting: hive-log4j.properties
    $ vi /etc/hive/conf/hive-log4j.properties
    

    注意:自担风险 ... 0: - )

答案 1 :(得分:0)

有效地将日志记录级别设置为“致命”

hive --hiveconf hive.root.logger=DRFA --hiveconf hive.log.level=FATAL -e "<query>"

或重定向日志到另一个目录,然后清除目录

hive --hiveconf hive.root.logger=DRFA --hiveconf hive.log.dir=./logs --hiveconf hive.log.level=DEBUG -e "<query>"

它将在logs文件夹中创建一个日志文件。确保日志文件夹位于当前目录中。