簡體   English   中英

編寫TokenizerMapper權限時Hadoop“出錯”

[英]Hadoop “error while writing TokenizerMapper permission denied”

我正在使用Google Developer Console運行Hadoop示例“WordCount”。 我運行hadoop com.sun.tools.javac.Main WordCount.java時得到的錯誤是:

WordCount.java:26: error: error while writing TokenizerMapper: 
WordCount$TokenizerMapper.class (Permission denied)
public static class TokenizerMapper

有一個箭頭指向最后一行的類。
echo $HADOOP_CLASSPATH返回/usr/lib/jvm/java-7-openjdk-amd64/lib/tools.jar
echo $HADOOP_HOME返回/home/hadoop/hadoop-install
echo $JAVA_HOME返回/usr/lib/jvm/java-7-openjdk-amd64/jre
javac -version返回javac 1.6.0_36
java -version返回java version "1.6.0_36" OpenJDK Runtime Environment (IcedTea6 1.13.8) (6b36-1.13.8-1~deb7u1) OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)

我將javac文件的權限更改為777和WordCount.java但沒有任何反應。

這是一個可怕的工作,我不推薦它,但我將/ home / hadoop目錄的權限更改為777,它的工作原理。 我找不到TokenizedMapper在我的用戶文件中的位置。 這是一個可怕的選擇,但我接受它是為了結束這個問題

對於那些通過創建不同的hadoop用戶進行hadoop安裝的人,請確保您的WordCount.java文件也位於相同的hadoop安裝目錄中(在我的情況下為“/ usr / local / hadoop /”)。 否則Hadoop將無法獲得訪問該java文件的權限。

如果不工作則以root身份編譯它你必須為你的hadoop用戶提供正確和安全的root權限你可以通過編輯/ etc / sudoers來實現

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM