Permissions hadoop上pig脚本的权限错误

Permissions hadoop上pig脚本的权限错误,permissions,hadoop,apache-pig,Permissions,Hadoop,Apache Pig,我已经安装了一个hadoop集群,它运行得很好。最重要的是,我正在使用pig脚本 但是,我得到了以下错误: org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.security.AccessControlException: Permission denied: user=tavasthi, access=WRITE, inode="home":dsslmn:supergroup:rwxr-xr-x 有人能给出纠正这个错误的建议吗?

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

但是,我得到了以下错误:

org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.security.AccessControlException: Permission denied: user=tavasthi, access=WRITE, inode="home":dsslmn:supergroup:rwxr-xr-x
有人能给出纠正这个错误的建议吗?
提前感谢。

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


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

我可以通过使用安全模拟功能解决类似问题

遵循以下代码段

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;
                }
            });
UserGroupInformation-ugi=
UserGroupInformation.createProxyUser(“hduser”,UserGroupInformation.getLoginUser());
ugi.doAs(新特权接受行动){
public Void run()引发异常{
Configuration jobconf=new Configuration();
jobconf.set(“fs.default.name”hdfs://server:hdfsport");
jobconf.set(“hadoop.job.ugi”、“hduser”);
jobconf.set(“mapred.job.tracker”,“服务器:jobtracker端口”);
字符串[]args=新字符串[]{“数据/输入”,“数据/输出”};
运行(jobconf,WordCount.class.newInstance(),args);
返回null;
}
});

远程(在我的情况下是windows桌面主机)登录用户id应添加到
core site.xml
中,如前所述

我正在使用dump命令并将其重定向到我的unix文件系统。所以,公平地说,我现在没有在pig中处理store命令。我认为dump仍然会在HDFS上创建一个文件,然后将内容流式传输到您的标准输出。为什么它要尝试在主目录上写入。有人能给点建议,在这里修复哪个属性吗。我尝试更改pig.temp.dir=/tmp,但它仍在尝试访问home inode。您好,我已经修复了这个错误。显然,我使用/home/{user.name}/hadoop/tmp作为hadoop.tmp.dir的临时存储目录。您的“in the URL”链接已失效,您是否有类似的链接?