Linux下手工执行某个脚本可以成功,但通过Java程序使用ProcessBuilder类执行该脚本总是失败,最后定位到问题:脚本中的某些命令要写绝对路径,例如把下面的脚本片段:
hdfs dfs -put -f some.jar hdfs://mycluster/user/admin/jars/
改为:
/export/servers/hadoop/bin/hdfs dfs -put -f some.jar hdfs://mycluster/user/admin/jars/
Linux下手工执行某个脚本可以成功,但通过Java程序使用ProcessBuilder类执行该脚本总是失败,最后定位到问题:脚本中的某些命令要写绝对路径,例如把下面的脚本片段:
hdfs dfs -put -f some.jar hdfs://mycluster/user/admin/jars/
改为:
/export/servers/hadoop/bin/hdfs dfs -put -f some.jar hdfs://mycluster/user/admin/jars/