我试图改变MR作业的日志级别的日志级别,我用下面的命令:如何更改MR工作
hadoop jar appMR.jar MainMR -Dmapreduce.map.log.level=DEBUG <args...>
但-Dmapreduce.map.log.level=DEBUG
去的第一个参数来工作。
有没有办法做到这一点,只为一个特定的MR作业,而不需要改变log4j属性文件中的级别?
我试图改变MR作业的日志级别的日志级别,我用下面的命令:如何更改MR工作
hadoop jar appMR.jar MainMR -Dmapreduce.map.log.level=DEBUG <args...>
但-Dmapreduce.map.log.level=DEBUG
去的第一个参数来工作。
有没有办法做到这一点,只为一个特定的MR作业,而不需要改变log4j属性文件中的级别?
如果你的主类实现 工具界面,并通过ToolRunner工具被调用,您可以只使用-Dname =价值形态。检查工具 javadoc的例子,它周围的实施模型: http://archive.cloudera.com/cdh5/cdh/5/hadoop/api/org/apache/hadoop/util/Tool.html (苛刻十)
您可以使用:
$ export HADOOP_ROOT_LOGGER="DEBUG,console"
然后运行hadoop jar
命令。
这改变了Hadoop的即日志级别它记录有关NameNode和DataNode会之间的通信信息。我想改变MapReduce(mapper/reducer)的日志级别。 –
你究竟做了什么? Hadoop项目包括HDFS,MapReduce和YARN,因此记录器适用于所有组件。您可以通过运行示例jar并使用HADOOP_ROOT_LOGGER设置进行验证。 – tk421