簡體   English   中英

Hadoop命令行參數未傳遞給Java遠程調試器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM