wordcount 在hadoop平台上运行权限不够问题

时间:2023-02-04 07:59:21
wordcount在eclipse中可以正常运行,但是在hadoop平台上却会报错,下面是显示的错误信息:
[hadoop@master bin]$ ./hadoop jar /home/hadoop/wordcount3.jar com.wang.WordCount2 /user/hadoop/input /user/hadoop/output3
Exception in thread "main" java.io.IOException: 权限不够
        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)
小弟是初学者,还请各位大侠帮忙解决!权限试的差不多了,还是这个问题

2 个解决方案

#1


因为Eclipse使用hadoop插件提交作业时,会默认以 DrWho 身份去将作业写入hdfs文件系统中,对应的也就是 HDFS 上的/user/xxx , 我的为/user/hadoop ,   由于 DrWho 用户对hadoop目录并没有写入权限,所以导致异常的发生。

 

解决方法(一):放开 hadoop 目录的权限

命令如下 :$ hadoop fs -chmod 777 /user/hadoop

 

解决方法(二):

到服务器上修改hadoop的配置文件:conf/hdfs-core.xml, 找到或新增 dfs.permissions 的配置项 , 将value值改为 false.

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

修改完要重启下hadoop的进程才能生效

都试试

#2


楼上已经说的很清楚了
我当时的做法就是:% bin/hadoop fs -chmod 777 /user/hadoop,这个问题在谷歌下边是可以搜到的,你自己搜一下,有具体的解释和解决方案。

#1


因为Eclipse使用hadoop插件提交作业时,会默认以 DrWho 身份去将作业写入hdfs文件系统中,对应的也就是 HDFS 上的/user/xxx , 我的为/user/hadoop ,   由于 DrWho 用户对hadoop目录并没有写入权限,所以导致异常的发生。

 

解决方法(一):放开 hadoop 目录的权限

命令如下 :$ hadoop fs -chmod 777 /user/hadoop

 

解决方法(二):

到服务器上修改hadoop的配置文件:conf/hdfs-core.xml, 找到或新增 dfs.permissions 的配置项 , 将value值改为 false.

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

修改完要重启下hadoop的进程才能生效

都试试

#2


楼上已经说的很清楚了
我当时的做法就是:% bin/hadoop fs -chmod 777 /user/hadoop,这个问题在谷歌下边是可以搜到的,你自己搜一下,有具体的解释和解决方案。