报错HiveException: MetaException( Permission denied:user=xxx,access=WRITE,inode=xxx)

报错HiveException: MetaException( Permission denied:user=xxx,access=WRITE,inode=xxx),第1张

报错HiveException: MetaException( Permission denied:user=xxx,access=WRITE,inode=xxx)

今天编写代码的时候遇见了一个报错显示没有权限从集群上读取数据

Permission denied:user=xxx,access=WRITE,inode=xxx
问题解析

如果hadoop没有启Kerberos或者从Kerberos获取用户为null,那么将获取HADOOP_USER_NAME环境变量,并将它的值作为Hadoop执行用户。
如果我们没有设置HADOOP_USER_NAME环境变量,那么程序将调用whoami来获取当前用户,并用groups来获取用户所在组。

解决思路:

配置window下的HDFS的环境变量
配置
HADOOP_USER_NAME 的值为root
或者在代码中指定

    System.setProperty("HADOOP_USER_NAME", "root")//Hadoop 指定用户名

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5576464.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存