1

我想调试我的映射器的某些部分,我需要将一些命令行参数传递给启动映射器的 jvm(java) 进程。有哪些不同的方法可以做到这一点?

我想出了一种更改 MapTaskRunner.java 的方法,但我想避免编译整个 hadoop 包。应该有一些简单的方法使用配置文件将额外的命令行参数传递给 jvm 映射器进程。

4

1 回答 1

4

我猜您正在 mapred-config.xml 中寻找以下配置:

<property>
    <name>mapred.child.java.opts</name>
    <value>-Xmx4096m -XX:+UseConcMarkSweepGC</value>
</property>

在值部分,您可以使用-D.

或者,您可以HADOOP_OPTS在终端中设置:

export HADOOP_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5000"

有关本地调试 hadoop 作业的更多信息,请参见此处

于 2013-03-08T18:53:19.413 回答