IDEA 运行hql 出现FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTas

IDEA 运行hql 出现FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. User: xxx is not allowed to impersonate xxx 的错误

根据报错日志 知 xxx用户无法模拟其他用户的身份访问 Hadoop集群。

启用的hiveserver2 的模拟用户功能 ,依赖于Hadoop 提供的proxy user(代理用户功能),只有Hadoop中的代理用户才能模拟其他用户身份访问 Hadoop集群。 因此,需要将hiverserver2 的启动用户设置为 Hadoop 的代理用户
修改hadoop 配置文件 core-site.xml

[xxx@hadoop102 hadoop-3.1.3]$ vim ./etc/hadoop/core-site.xml 

添加如下配置

<!-- 整合hive 用户代理设置 -->
<!--配置所有节点的xxx用户都可作为代理用户-->
 
  hadoop.proxyuser.xxx.hosts</name>
  *</value>
</property> 
<!--配置xxx用户能够代理的用户组为任意组-->

  hadoop.proxyuser.xxx.groups</name>
  *</value> 
</property>
<!--配置xxx用户能够代理的用户为任意用户-->

  hadoop.proxyuser.xxx.users</name>
  *</value> 
</property> 

重启Hadoop 以及Hive

[xxx@hadoop102 hadoop-3.1.3]$ ./sbin/stop-dfs.sh
[xxx@hadoop100 hadoop-3.1.3]$ ./sbin/stop-yarn.sh
[xxx@hadoop102 hadoop-3.1.3]$ ./sbin/start-dfs.sh
[xxx@hadoop100 hadoop-3.1.3]$ ./sbin/start-yarn.sh
[xxx@hadoop102 hive]$ jps
10342 RunJar
10726 RunJar
2631 DataNode
6472 NodeManager
2217 NameNode
127468 Jps
[xxx@hadoop102 hive]$ kill -9 10342 10726
[xxx@hadoop102 hive]$ nohup ./bin/hive --service metastore &
[xxx@hadoop102 hive]$ nohup ./bin/hive --service hiveserver2 &

再次运行hql 不再报错。

你可能感兴趣的:(hadoop,hive,大数据)