hadoop上猪脚本的权限错误

时间:2012-04-25 07:59:00

标签: permissions hadoop apache-pig

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

但是我收到以下错误:

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

有人可以给出指示来纠正这个错误吗? 提前谢谢。

2 个答案:

答案 0 :(得分:0)

您似乎没有HDFS权限可以保存到文件夹home。您的用户tavasthi不是用户dsslmn,因此无权写入home文件夹(rwxr-xr-x表示只有用户具有写入权限)。

您可以将代码发布到您尝试使用pig STORE命令的位置,以包含路径,并告诉我们此输出文件夹的路径是否存在,以及您的用户是否具有写入该权限的权限。 / p>

答案 1 :(得分: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;
                }
            });

远程(在我的情况下为Windows桌面主机)登录用户ID应添加到core-site.xml in the URL