我想调试Map器的某些部分,为此我需要向启动Map器的jvm(java)进程传递一些命令行参数。有什么不同的方法可以做到这一点?我找到了一种更改maptaskrunner.java的方法,但是我想避免编译整个hadoop包。应该有一些简单的方法使用配置文件将额外的命令行参数传递给jvmMap程序进程。
db2dz4w81#
我猜您正在mapred-config.xml中查找以下配置:
<property> <name>mapred.child.java.opts</name> <value>-Xmx4096m -XX:+UseConcMarkSweepGC</value> </property>
在值部分,您可以使用 -D .或者您可以设置 HADOOP_OPTS 在终端中:
-D
HADOOP_OPTS
export HADOOP_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5000"
有关本地调试hadoop作业的更多信息,请参阅此处。
1条答案
按热度按时间db2dz4w81#
我猜您正在mapred-config.xml中查找以下配置:
在值部分,您可以使用
-D
.或者您可以设置
HADOOP_OPTS
在终端中:有关本地调试hadoop作业的更多信息,请参阅此处。