apache - HBase MapReduce作业的log4j

标签 apache hadoop mapreduce log4j hbase

我知道hadoop使用log4进行日志记录,并且我能够查看conf / log4j.properties中的属性以找出现有日志文件的位置。但是,有什么方法可以将日志从hbase mapreduce作业定向到一个全新的文件吗?想法是,我有一个计划安排在每晚运行的工作,我希望能够仅登录到此工作的/var/log/myjob.log,以便我可以检查该文件中的任何错误/异常,而不必进行检查jotrackter用户界面。这可能吗?如果是这样,怎么办?另外,请注意,该作业将被提交到集群,因此请提出建议,如果日志文件需要在HDFS或常规(Linux)平台上。如果在Linux上,那么它应该在所有节点上还是仅在hadoop master上?

感谢您的建议。

最佳答案

您可以按照Configuring Log4j Loggers Programmatically在mapper和reducer类的setup()方法中所述动态创建File Appender。

关于apache - HBase MapReduce作业的log4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17284330/

相关文章:

java - 从Java应用程序启动Flume Agent

apache - 无法在 Centos 7 上启动 httpd 服务 "GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: Cannot determine user of subject"

java - 获取编码的区域名称-HBase

hadoop - MapReduce中,为什么map函数在查找单词出现时输出1?

java - Hbase和PIG不会存储所有行

hadoop - 在独立模式下执行hadoop示例时,权限被拒绝

hadoop - 如何在 Hadoop 的 map-reduce 作业中通过自定义比较器对键进行排序?

hadoop - Hadoop 中的 reduce 任务什么时候开始?

json - 为什么 JSON 类型的 HTTP 501 错误以 text/html 而不是 application/json 的形式呈现给 UI?

java - 如何使用 Apache HttpClient 将参数添加到 HTTP header