gpt4 book ai didi

java - Hadoop 文件系统 shell 在成功执行后返回 -1

转载 作者:行者123 更新时间:2023-12-02 21:36:44 27 4
gpt4 key购买 nike

我正在尝试使用带有以下代码的“hdfs dfs -mkdir/user/19491/testfolder”创建一个目录:

        Session session = createSSHSession();
ChannelExec channelExec = null;
channelExec = (ChannelExec)session.openChannel("exec");
channelExec.setCommand("hdfs dfs -mkdir -p hdfs://user/19491/testfolder");
channelExec.connect();
BufferedReader br=new BufferedReader(new InputStreamReader(channelExec.getInputStream()));
String text;
while((text=br.readLine())!=null) {
System.out.println("Text is:"+text);
}
int exitStatus = channelExec.getExitStatus();
System.out.println("Exit status:"+exitStatus);

运行此代码后,文件夹已创建,但返回的退出状态为 -1。据此 link提示错误。为什么会这样?该文件夹已创建,所以它不应该返回 0 吗?

最佳答案

(假设您使用的是 jsch)getExitStatus命令未完成时返回 -1。

http://epaul.github.io/jsch-documentation/javadoc/com/jcraft/jsch/Channel.html#getExitStatus()

我认为该函数在 hdfs 之前被调用。命令完成。这个example等到 channel 关闭。

关于java - Hadoop 文件系统 shell 在成功执行后返回 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31689331/

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