您的位置:首页 > 运维架构 > Apache

win7使用eclipse连接hadoop集群,运行mapreduce报错之:org.apache.hadoop.security.AccessControlException

2015-09-05 23:08 756 查看
在win7上使用eclipse连接hadoop集群运行mapreduce任务(Java编写)时出现如下错误提示,导致运行mapreduce作业失败

Caused by: org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.security.AccessControlException: Permission denied: user=lenovo, access=WRITE, inode="":suh:supergroup:rwxr-xr-x

解决方案:

方案一:

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

<property>

<name>dfs.permissions</name>

<value>false</value>

<description>

If "true", enable permission checking in HDFS.

If "false", permission checking is turned off,

but all other behavior is unchanged.

Switching from one parameter value to the other does not change the mode,

owner or group of files or directories.

</description>

</property>

ps:修改完需要重启下hadoop的进程才能生效,生产环境出于安全考虑一般是不建议这么操作的。

方案二:

将对应的目录设置最大权限777

hadoop fs -chmod 777 /

ps:相对便捷的一个方案

方案三:

在win7系统的环境变量或java JVM变量里面添加 HADOOP_USER_NAME,值为运行HADOOP上的Linux的用户名。在Eclipse里面运行,修改完环境变量后,需要重启一下eclipse,不然可能不会生效。

ps:推荐使用的方案

方案四:

将当前系统的帐号名称修改为运行HADOOP上的Linux的用户名。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: