0
我想調試我的映射器的某些部分,我需要將一些命令行參數傳遞給啓動映射器的jvm(java)進程。有什麼不同的方式來做到這一點?將命令行參數傳遞給jvm(java)mapper任務
我想出了一種方法來改變MapTaskRunner.java,但我想避免編譯整個hadoop包。應該有一些簡單的方法來使用配置文件將額外的命令行參數傳遞給jvm映射器進程。
我想調試我的映射器的某些部分,我需要將一些命令行參數傳遞給啓動映射器的jvm(java)進程。有什麼不同的方式來做到這一點?將命令行參數傳遞給jvm(java)mapper任務
我想出了一種方法來改變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作業的詳細信息,請參閱here。
我不明白你怎麼能用另一個參數來實現調試,你可以舉個例子。 – Alper 2013-03-08 07:46:29
好吧,jprofiler要求我添加一些命令行參數,以便通過調試器進行調試。 – 0xhacker 2013-03-08 12:06:30