我正在尝试在hive中使用数据库,但是当我在HIVE中运行以下查询时:
CREATE DATABASE BIGDATA;
我收到以下错误消息:
失败:元数据错误:MetaException(消息:得到异常:org.apache.hadoop.security.AccessControlException org.apache.hadoop.security.AccessControlException:Permission denied:user = aseema,access = WRITE,inode =“” :hduser:超组:rwxr-XR-x)的 FAILED:执行错误,从org.apache.hadoop.hive.ql.exec.DDLTask返回代码1
造成这种情况的原因是什么?
答案 0 :(得分:2)
这是因为hdfs中缺少用户aseema的权限。请按照以下步骤操作。
以hduser身份登录并执行以下操作(从日志开始,似乎hduser是超级用户)
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -mkdir /tmp
hadoop fs -chmod -R 777 /user/hive
hadoop fs -chmod 777 /tmp
在此之后,尝试从aseema用户执行create database语句。
答案 1 :(得分:0)
如果从本地模式运行,则应从hdfs user:
运行此命令su hdfs
如果您愿意,请更改以下权限:
hdfs dfs -chown -R <username_of_new_owner> /user