简体   繁体   English

编写TokenizerMapper权限时Hadoop“出错”

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

I am using Google Developer Console for running the Hadoop example "WordCount". 我正在使用Google Developer Console运行Hadoop示例“WordCount”。 The error I am getting when I run hadoop com.sun.tools.javac.Main WordCount.java is: 我运行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

There is an arrow pointing to class of the last line. 有一个箭头指向最后一行的类。
echo $HADOOP_CLASSPATH returns /usr/lib/jvm/java-7-openjdk-amd64/lib/tools.jar echo $HADOOP_CLASSPATH返回/usr/lib/jvm/java-7-openjdk-amd64/lib/tools.jar
echo $HADOOP_HOME returns /home/hadoop/hadoop-install echo $HADOOP_HOME返回/home/hadoop/hadoop-install
echo $JAVA_HOME returns /usr/lib/jvm/java-7-openjdk-amd64/jre echo $JAVA_HOME返回/usr/lib/jvm/java-7-openjdk-amd64/jre
javac -version returns javac 1.6.0_36 javac -version返回javac 1.6.0_36
java -version returns 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) 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)

I changed the permissions on the javac file to be 777 and WordCount.java but nothing happened. 我将javac文件的权限更改为777和WordCount.java但没有任何反应。

This was a terrible work around and I do not recommend it but I changed the permission of the /home/hadoop directory to 777 and it works. 这是一个可怕的工作,我不推荐它,但我将/ home / hadoop目录的权限更改为777,它的工作原理。 I couldn't find where TokenizedMapper resided in my user file. 我找不到TokenizedMapper在我的用户文件中的位置。 This is a terrible option but I am accepting it in order to close the question 这是一个可怕的选择,但我接受它是为了结束这个问题

For the ones who had made hadoop installation with creating different hadoop user, make sure that your WordCount.java file also resides in the same hadoop installation directory (in my case "/usr/local/hadoop/"). 对于那些通过创建不同的hadoop用户进行hadoop安装的人,请确保您的WordCount.java文件也位于相同的hadoop安装目录中(在我的情况下为“/ usr / local / hadoop /”)。 Otherwise Hadoop will not get permission to access that java file. 否则Hadoop将无法获得访问该java文件的权限。

如果不工作则以root身份编译它你必须为你的hadoop用户提供正确和安全的root权限你可以通过编辑/ etc / sudoers来实现

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在Hadoop上运行Java中的嵌入式猪时,权限被拒绝错误 - Permission denied error while running embedded pig in Java on Hadoop 在Mac中由application(.jar)读取/写入文件时权限被拒绝错误 - permission denied error while reading/writing file by application(.jar) in mac Java编译器一直说“编写className:className.class时出错(权限被拒绝)” - Java Compiler keeps saying “error while writing className: className.class (Permission denied)” 运行 maven 安装时权限被拒绝错误 - Permission denied error while running maven install 使用Servlet写入文件时权限被拒绝的问题 - Permission denied issue while writing file using servlets 由于权限被拒绝,在hadoop.tmp.dir / tmp / hadoop-sha中创建临时目录时出错 - Error creating temp dir in hadoop.tmp.dir /tmp/hadoop-sha due to Permission denied 写入RandomAccessFile时权限被拒绝 - Permission denied when writing a RandomAccessFile 错误:org.apache.hadoop.security.AccessControlException:权限被拒绝:user = root,access = READ_EXECUTE, - Error: org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=READ_EXECUTE, 在 getFilesDir() 返回的路径中写入的权限被拒绝 - permission denied for writing in the path returned by getFilesDir() 使用Java编写文件时权限被拒绝 - Permission denied when writing a file with Java
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM