hadoop猪脚本的权限错误
问题描述:
我已经建立了一个hadoop集群,它运行的很好。最重要的是,我正在使用猪脚本。hadoop猪脚本的权限错误
不过,我发现了以下错误:
org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.security.AccessControlException: Permission denied: user=tavasthi, access=WRITE, inode="home":dsslmn:supergroup:rwxr-xr-x
能有人给和指针,以纠正这个错误? 在此先感谢。
答
看起来你没有HDFS的权限来保存到文件夹home
。您的用户tavasthi
不是用户dsslmn
,因此无权写入home
文件夹(rwxr-xr-x
表示只有用户具有写入权限)。
你可以发布你想要使用pig STORE命令的代码,以包含路径,并告诉我们这个输出文件夹的路径是否存在,以及你的用户是否有权写入它。
答
我能够通过使用安全的模拟功能 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;
}
});
登录用户ID的远程(在我的情况下windows桌面主机)应被添加到解决类似的问题, core-site.xml
如上所述in the URL
我在使用dump命令并将其重定向到我的unix文件系统。所以,我现在不是在处理猪的商店命令。 – 2012-04-25 11:02:24
我认为转储仍然在HDFS上创建一个文件,然后它将内容流式传输到标准输出。 – 2012-04-25 11:19:53
它为什么试图写入主目录。有人可以指出哪些财产要解决这里。 我试着改变pig.temp.dir =/tmp,但它仍然试图访问home inode。 – 2012-04-27 09:33:56