使用hive2连接进行添加数据是报错:
[08S01][1] Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. User: zhangflink is not allowed to impersonate zhangflink
有些文章说需要修改代理,我的配置一直就是这也照样不行。后来发现是没有添加
hive.server2.enable.doAs配置导致。
解决方法:
在hive目录下的conf文件下的hive-site.xml文件,添加配置
bash
<property>
<name>hive.server2.enable.doAs</name>
<value>false</value>
</property>
hive.server2.enable.doAs设置成false则,yarn作业获取到的hiveserver2用户都为hive用户。设置成true则为实际的用户名。
添加配置后重新启动:
启动元数据
bash
[zhangflink@flinkv1 hive]$ nohup bin/hive --service metastore > hiveMetastore.log 2>&1 &
启动hive2服务
bash
[zhangflink@flinkv1 hive]$ nohup bin/hive --service hiveserver2 > hive.log 2>&1 &
重新添加数据,完美解决