복붙노트

[HADOOP] 실행 하둡은 브라우저에서 명령

HADOOP

실행 하둡은 브라우저에서 명령

나는 단일 노드에서 하둡을 설치하는 유명한 마이클 NOLL 튜토리얼 http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/을 따랐다.

이제 PHP를 통해 브라우저를 통해 다음과 같은 명령을 실행하려면

usr/local/hadoop/bin/hadoop jar /usr/local/hadoop/contrib/streaming/hadoop-*streaming*.jar -mapper "/usr/bin/python /var/www/DataMining/AnalysisByYear/AnalysisByYear_mapper.py 2011" -reducer "/usr/bin/python /var/www/DataMining/AnalysisByYear/AnalysisByYear_reducer.py" -input /user/hduser/dataset/final_eval.txt -output /user/hduser/dataset-outputyear

나는 그것을 실행하기 위해 PHP의 간부 인 () 명령을 사용하고 있지만 어떤 결과를 표시하지 않습니다.

튜토리얼에서 hduser는 하둡의 소유권이 부여됩니다. 그러나 브라우저는 사용자 www가 데이터로 기록합니다. 그 결과는 실행할 수 없습니다. 나는 그 오류입니다 가정입니다. 그것은 어떤 방법으로 스크립트를 실행 할 수 있습니까?

네임 노드 로그는 아래에 주어진다 :

2013-11-18 14:54:45,712 ERROR org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:www-data cause:org.apache.hadoop.security.AccessControlException: Permission denied: user=www-data, access=WRITE, inode="staging":hduser:supergroup:rwxr-xr-x
2013-11-18 14:54:45,712 INFO org.apache.hadoop.ipc.Server: IPC Server handler 1 on 54310, call mkdirs(/app/hadoop/tmp/mapred/staging/www-data/.staging, rwx------) from 127.0.0.1:40876: error: org.apache.hadoop.security.AccessControlException: Permission denied: user=www-data, access=WRITE, inode="staging":hduser:supergroup:rwxr-xr-x
org.apache.hadoop.security.AccessControlException: Permission denied: user=www-data, access=WRITE, inode="staging":hduser:supergroup:rwxr-xr-x
    at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:199)
    at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:180)
    at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:128)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:5468)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkAncestorAccess(FSNamesystem.java:5442)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirsInternal(FSNamesystem.java:2209)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirs(FSNamesystem.java:2178)
    at org.apache.hadoop.hdfs.server.namenode.NameNode.mkdirs(NameNode.java:857)
    at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:578)
    at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1393)
    at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1389)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:396)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1149)
    at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1387)

해결법

  1. ==============================

    1.내가 사용하는이 솔루션은 hduser로 내 아파치 서버를 시작합니다.

    내가 사용하는이 솔루션은 hduser로 내 아파치 서버를 시작합니다.

  2. from https://stackoverflow.com/questions/20044686/executing-hadoop-commands-in-browser by cc-by-sa and MIT license