[英]Hadoop Command Line Paramers not Passed to Java Remote Debugger
我已經安裝了hadoop 1.0.4。 我通過添加以下內容修改了/ usr / bin / hadoop文件:
HADOOP_DEBUG =“-agentlib:jdwp = transport = dt_socket,server = y,suspend = y,address = 5000”
elif [“ $ COMMAND” =“ jar”]; 然后
CLASS = org.apache.hadoop.util.RunJar
HADOOP_OPTS =“ $ HADOOP_OPTS $ HADOOP_CLIENT_OPTS”
elif [“ $ COMMAND” =“ jar-debug”]; 然后
CLASS = org.apache.hadoop.util.RunJar
HADOOP_OPTS =“ $ HADOOP_OPTS $ HADOOP_CLIENT_OPTS $ HADOOP_DEBUG”
COMMAND =“ jar”
這樣,我可以運行“ hadoop jar SomeJar.jar SomeClass”正常啟動,或運行“ hadoop jar-debug SomeJar.jar SomeClass”以調試模式啟動。 這行得通,除非我想將命令行參數傳遞到類中(例如在WordCount示例中)。 例如運行:
“ hadoop jar-debug WordCount.jar WordCount InputDir OutputDir”
在主類的第一行上有一個斷點,表明String [] args是一個空字符串(這顯然會導致程序稍后失敗)。 如果我使用普通的jar命令運行它,則可以正常工作(因此,顯然,使用常規jar可以很好地傳遞命令行參數)。
有人知道這里發生了什么嗎? 我被嚴重卡住了。 提前致謝。
以后遇到此問題的任何人的更新:
如果啟動Java遠程調試器以偵聽錯誤的IP地址(即IE偵聽遠程名稱節點而不是本地主機),則JRD仍將啟動,但不會傳遞命令行參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.