gpt4 book ai didi

java - Hadoop命令行参数未传递给Java远程调试器

转载 作者:行者123 更新时间:2023-12-02 21:55:42 25 4
gpt4 key购买 nike

我已经安装了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”以 Debug模式启动。除我要将命令行参数传递到类中(例如在WordCount示例中)时,此方法有效。例如运行:

“hadoop jar-debug WordCount.jar WordCount InputDir OutputDir”

在主类的第一行上有一个断点,表明String [] args是一个空字符串(这显然会导致程序稍后失败)。如果我使用普通的jar命令运行它,则可以正常工作(因此,显然,使用常规jar可以很好地传递命令行参数)。

有人知道这是怎么回事吗?我被严重卡住了。提前致谢。

最佳答案

以后遇到此问题的任何人的更新:

如果启动Java远程调试器以侦听错误的IP地址(即IE侦听远程名称节点而不是本地主机),则JRD仍将启动,但不会传递命令行参数。

关于java - Hadoop命令行参数未传递给Java远程调试器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14650810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com