0

我已经设置了一个 hadoop 集群,它运行得很好。最重要的是,我正在使用猪脚本。

但是我收到以下错误:

org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.security.AccessControlException: Permission denied: user=tavasthi, access=WRITE, inode="home":dsslmn:supergroup:rwxr-xr-x

有人可以指点纠正这个错误吗?提前致谢。

4

2 回答 2

0

看起来您在 HDFS 中没有保存到文件夹的权限home。您的用户,tavasthi不是用户dsslmn,因此没有写入home文件夹rwxr-xr-x的权限(表示只有用户有写入权限)。

您能否将代码发布到您尝试使用 pig STORE 命令的位置,以包含路径,并让我们知道此输出文件夹的路径是否存在,以及您的用户是否有权写入它。

于 2012-04-25T10:35:35.333 回答
0

我能够通过使用安全模拟功能解决类似的问题 http://hadoop.apache.org/common/docs/stable/Secure_Impersonation.html

遵循此代码段

UserGroupInformation ugi = 
                    UserGroupInformation.createProxyUser("hduser", UserGroupInformation.getLoginUser());
            ugi.doAs(new PrivilegedExceptionAction<Void>() {
                public Void run() throws Exception {
                    Configuration jobconf = new Configuration();
        jobconf.set("fs.default.name", "hdfs://server:hdfsport");
        jobconf.set("hadoop.job.ugi", "hduser");
        jobconf.set("mapred.job.tracker", "server:jobtracker port");
                 String[] args = new String[] { "data/input", "data/output" };
                ToolRunner.run(jobconf, WordCount.class.newInstance(), args);
                    return null;
                }
            });

如URL 中core-site.xml所述,应添加远程(在我的情况下为 Windows 桌面主机)登录用户 ID

于 2012-06-26T17:22:45.640 回答