我正在尝试从 PHP 服务器执行一个 jar 文件来对我的 HBase 数据库进行简单查询,这样我就可以将结果打印到网页上。
PHP 服务器配置为与 hadoop 用户相同的用户名,以及相同的组。
PHP 执行命令是:
exec("bash /usr/local/hadoop/bin/hadoop jar myjar.jar my.package.MyClass 2> php_error.log", $result);
当我尝试执行命令时出现此异常(在 php_error.log 中):
Exception in thread "main" java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createTempFile(File.java:1879)
at org.apache.hadoop.util.RunJar.main(RunJar.java:115)
我知道它与权限有关,但即使在我的 HDFS 和 hadoop 安装文件夹上使用 777,它也不起作用。
有任何想法吗?谢谢你。
另外,这个临时文件要在哪里创建?Hadoop目录?高清晰度电视?在哪里?
编辑:在本地运行它,它工作得很好!没有权限错误!hadoop jar myjar.jar my.package.MyClass