php - PHP shell_exec无法执行Hadoop命令

首先,我需要告诉大家,这个问题实际上在这里重复

Running php script to execute hadoop command via shell on browser

所以我有一个同样的问题(我无法从php执行任何Hadoop命令),但是不幸的是,我无法使用那里的解决方案解决它。例如,如果我执行此

echo 'start ';
var_dump(shell_exec('/usr/local/hadoop-2.9.1/bin/hadoop fs -mkdir testtesttest'));
echo ' end';

我会得到

start NULL end



如您所见,“/ usr / local / hadoop-2.9.1 / bin / hadoop”是我通往Hadoop脚本的完整路径。怎么了?谢谢 :)

最佳答案

我已经找到了解决方案。因此,基本上我的Hadoop可以插入不带前缀“/”的目录,但是当我尝试shell_exec时,目录名称必须以“/”作为前缀。因此,就像上面的示例一样,我需要在目录名称之前添加“/”。

echo 'start ';
var_dump(shell_exec('/usr/local/hadoop-2.9.1/bin/hadoop fs -mkdir /testtesttest'));
echo ' end';

会的。它适用于所有需要路径目录的hadoop命令。

https://stackoverflow.com/questions/55226370/

相关文章:

docker - Docker容器访问群集IP

docker - Docker中的开发环境

java - java.io.IOException:方案:maprfs没有文件系统。将maprfs

hadoop - NameNode 的用户名必须与 DataNode 的用户名相同吗?

json - 如何使用Python解析Spark 1.6中格式错误的JSON字符串,其中包含空格,多

docker - 在Boot2Docker中使用MySQL时JDBC连接缓慢

hadoop - 在我们的发现集群中提高 yarn 容器利用率的建议

docker - 如何将Docker的容器与管道连接

hadoop - 从Teradata查询到pyspark

hadoop - 使用sqoop排除表