[HADOOP] 맵리 듀스 작업이 내 PHP 웹 페이지를 통해 자바로 작성된 러닝
HADOOP맵리 듀스 작업이 내 PHP 웹 페이지를 통해 자바로 작성된 러닝
나는 단지 명령을 실행 명령 줄을 호출하여지도 내 웹 페이지를 통해 작업을 줄일 실행하려고 내 PHP 서버가 작업 트래커 시스템에서 호스팅되고,
하지만 난 아무 반응을 얻고하지 오전 작업이 시작되지 않습니다.
나는 그것이 잘 실행되는 동일한 방법을 사용하여 HDFS를 나열하는 명령을 실행 그러나합니다. 나를 인도 해주십시오.
명령은 나에게 아무것도 응답하지 않고 작업이 실행되지 않고 다음과 같습니다
exec("HADOOP_DIR/bin/hadoop jar /usr/local/MapReduce.jar Mapreduce [input Path] [output Path]");
그러나 나는이 작업을 수행하는 경우 :
exec("HADOOP_DIR/bin/hadoop dfs -ls /user/hadoop");
그것은 벌금을 실행 중입니다.
해결법
-
==============================
1.나는 (HDFS에 파일을 쓸 수있는 권한을 가진 사용자) hduser하기 위해 PHP 서버 사용자를 변경하여이 문제를 해결했다. 이것을 HDFS에서 읽는 명령 만이 작동하고 사용자가 아닌 파일을 만들거나 HDFS에 쓸 필요 하나를 변경하지 않고.
나는 (HDFS에 파일을 쓸 수있는 권한을 가진 사용자) hduser하기 위해 PHP 서버 사용자를 변경하여이 문제를 해결했다. 이것을 HDFS에서 읽는 명령 만이 작동하고 사용자가 아닌 파일을 만들거나 HDFS에 쓸 필요 하나를 변경하지 않고.
난 내 PHP 스크립트를 통해 HDFS의 디렉토리를 작성하기위한 명령을 실행했을 때, 나는 내 PHP는 서버 로그 (/var/log/apache2/error.log)에 다음과 같은 오류가 발생했습니다 :
mkdir: org.apache.hadoop.security.AccessControlException: Permission denied: user=www-data, access=WRITE, inode="hduser":hduser:supergroup:rwxr-xr-x
그리고 MapRed 프로그램을 트리거 항아리 명령을 실행에 나는 다음과 같은 오류가 발생했습니다 :
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)
그리고 내가 한 일은 내가 내 하둡 사용자에게 /etc/apache2/apache2.conf에 사용자를 변경 한 후 내 서버를 다시 시작하고 모든 일이 지금은 잘 작동하고 있습니다.
나는 PHP 서버가 실패에서 하둡 항아리를 실행 참조해야합니다. 권한이 문제 해결에 많이 나에게 도움이 게시물을 부인했다. 이 게시물이 너무 다른 사람을 도움이되기를 바랍니다.
from https://stackoverflow.com/questions/24901626/running-mapreduce-job-written-in-java-through-my-php-web-page by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 어떻게 HDFS와 지역에서 ext4 파일 시스템에서 파일이 서로 일치합니까? (0) | 2019.09.30 |
---|---|
[HADOOP] 어떻게 csv 파일에 청사진 JSON 파일을 변환하는? (0) | 2019.09.30 |
[HADOOP] 어떻게 NRPE로 작업하는 사용자의 Nagios 플러그인을받을 수 있나요? (0) | 2019.09.30 |
[HADOOP] 5 기계와 아파치 Ambari 클러스터 물리적 시스템 또는 diffrent 5 VM으로 가상 머신에 설치 : 어느 것이 가장 좋습니다? (0) | 2019.09.30 |
[HADOOP] java.lang.ClassNotFoundException가 : 이클립스 org.apache.hadoop.hive.jdbc.HiveDriver (0) | 2019.09.29 |