Невозможно выполнить Jad Jar из PHP - PullRequest
0 голосов
/ 23 марта 2019

Я не могу выполнить Jar-файл Hadoop в псевдораспределенном виде (если вам нужна моя конфигурация, я следую этому руководству мои псевдораспределенные параметры ) из PHP, используя любую функцию PHP, такую ​​как shell_exec, exec, system,Когда я пытался выполнить jar, мой браузер отображал значок загрузки на вкладке, но когда я проверял историю приложений Hadoop, ничего не запускалось.Что еще хуже, нет сообщения об ошибке.Я уже проверил мой /var/log/apache2/error.log и ничего там.

Так что это мой эксперимент по запуску кода.

//1.Run in the command prompt works perfectly fine.
/usr/local/hadoop-2.9.1/bin/hadoop jar path_to_my_jar_file.jar main_class_name args

номер 2,3,4это весь php-код, который я набираю.

//2. Run using shell_exec nothing happens
var_dump(shell_exec("/usr/local/hadoop-2.9.1/bin/hadoop jar path_to_my_jar_file.jar main_class_name args"));

//3. Run using exec I got array(0) { }
$retval = array();
exec("/usr/local/hadoop-2.9.1/bin/hadoop jar path_to_my_jar_file.jar main_class_name args",$retval);
var_dump( $retval);

//4. Run using system I got 1
system("/usr/local/hadoop-2.9.1/bin/hadoop jar path_to_my_jar_file.jar main_class_name args",$retval);
var_dump( $retval);

Дополнительное примечание:

Я нашел это Запуск задания MapReduce, написанного на Java через мою веб-страницу PHP вопрос, но яне думаю, что у меня есть проблемы с разрешениями, поскольку я могу выполнить это.

shell_exec("/usr/local/hadoop-2.9.1/bin/hadoop fs -mkdir /test");

Я даже пытался сменить пользователя apache, но все еще не работал.Я что-то пропустил?Заранее спасибо:)

ОБНОВЛЕНИЕ 1

Удаление этого свойства в mapred-site.xml заставляет php exec работать, но я не вижу, как mapreduce прогрессирует в менеджере ресурсов(localhost: 8088) и мне это тоже нужно.

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    <description>MapReduce framework name</description>
</property>

1 Ответ

0 голосов
/ 24 марта 2019

В случае, если у кого-то возникнет та же проблема, это из-за конфигурации Hadoop.Я изменяю свою конфигурацию с помощью этой учебной ссылки .После этого вы получите проблему с разрешением HDFS, которая может быть решена этим как добавить пользователя в супергруппу hdfs в linux?[Закрыто] .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...