[英]pass a command line argument to jvm(java) mapper task
我想调试我的mapper的一些部分,我需要将一些命令行参数传递给启动映射器的jvm(java)进程。 有什么不同的方法吗?
我想出了一种改变MapTaskRunner.java的方法,但我想避免编译整个hadoop包。 应该有一些简单的方法使用配置文件将额外的命令行参数传递给jvm映射器进程。
我猜你在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作业的更多信息,请参见此处 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.