hadoop上pig脚本的权限错误

a6b3iqyw  于 2021-06-21  发布在  Pig
关注(0)|答案(2)|浏览(252)

我已经安装了一个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

有人能给我一些建议来纠正这个错误吗?提前谢谢。

n7taea2i

n7taea2i1#

看起来您在hdfs中没有保存到文件夹的权限 home . 你的用户, tavasthi 不是用户 dsslmn ,因此没有写入的权限 home 文件夹( rwxr-xr-x 表示只有用户有写权限)。
你能在你试图使用pig store命令的地方发布代码,包括路径,并让我们知道这个输出文件夹的路径是否存在,以及你的用户是否有权限写入它。

2cmtqfgy

2cmtqfgy2#

通过使用安全模拟功能,我可以解决类似的问题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 如url中所述

相关问题