使用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
User: zhangflink is not allowed to impersonate zhangflink-LMLPHP
User: zhangflink is not allowed to impersonate zhangflink-LMLPHP
有些文章说需要修改代理,我的配置一直就是这也照样不行。后来发现是没有添加
hive.server2.enable.doAs配置导致。

解决方法:
在hive目录下的conf文件下的hive-site.xml文件,添加配置

 <property>
        <name>hive.server2.enable.doAs</name>
        <value>false</value>
</property>

hive.server2.enable.doAs设置成false则,yarn作业获取到的hiveserver2用户都为hive用户。设置成true则为实际的用户名。
添加配置后重新启动:

启动元数据

[zhangflink@flinkv1 hive]$ nohup bin/hive --service metastore > hiveMetastore.log 2>&1 &

启动hive2服务

[zhangflink@flinkv1 hive]$ nohup bin/hive --service hiveserver2 > hive.log 2>&1 &

重新添加数据,完美解决
User: zhangflink is not allowed to impersonate zhangflink-LMLPHP

12-11 02:35