首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hadoop命令不能从java prcoessbuilder执行

Hadoop命令不能从java prcoessbuilder执行
EN

Stack Overflow用户
提问于 2017-01-20 01:30:29
回答 1查看 73关注 0票数 0

我有这个脚本。

代码语言:javascript
复制
log_file_name=dataProcessor
export pwd=`pwd`
echo "in data processing"
log_file_path=LOGS/data-processor/
logfile=$log_file_path$log_file_name.log
log_file_home_path=LOGS
export LOG_FILE_HOME_PATH=$log_file_home_path
export DATA_EXTRACTION_CONFIG_FILE_LOCATION=$pwd/config.properties
export LIBJARS=/home/data-extraction/2.12.2.1/data-extraction/lib/*.jar
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/home/abc/lib/*.jar
echo `$HADOOP_CLASSPATH`
hadoop jar data-processor-*.jar com.impl.JobSubmission -libjars ${LIBJARS} &> $log_file_home_path/process.log
echo "in data processing done"

当我从putty执行它时,它工作正常,但当我们使用java ProcessBuilder执行它时,它失败了。它会失败,并显示“未找到Hadoop命令”错误。下面是我用来执行脚本的Java代码。

代码语言:javascript
复制
ProcessBuilder builder = new ProcessBuilder(command.trim());
//builder.redirectErrorStream(true);
Process process = builder.start();
exitStatus = process.waitFor();
BufferedReader reader =
            new BufferedReader(new InputStreamReader(process.getInputStream()));

String line = "";
while ((line = reader.readLine()) != null) {
  output.append(line + "\n");
  System.out.print(line);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-22 12:43:18

问题是另一个脚本。脚本一(1)启动Java应用程序,该应用程序在内部调用第二个脚本(S2),该脚本正在下降。脚本一(S1)设置了无效的路径,而不是PATH,使用了PATH,这造成了整个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41748099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档