1.原因1
解决方式:在hadoop的配置文件core-site.xml增加如下配置,重启hdfs,其中“xxx”是连接beeline的用户,将“xxx”替换成自己的用户名即可。最关键的是一定要重启hadoop,先stop-all.sh,再start-all.sh,否则不会生效的!!那样就还是报错!
<property>
<name>hadoop.proxyuser.xxx.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.xxx.groups</name>
<value>*</value>
</property>
“*”表示可通过超级代理“xxx”操作hadoop的用户、用户组和主机
这里的xxx可以任意设置成你想要设置的名字
2.原因2
在conf/hive-site.xml中加入以下配置:
<property>
<name>hive.server2.enable.doAs </name>
<value>false</value>
</property>
然后使用命令bin/hiveserver2重新启动hiveserver2服务,然后使用beeline连接hiveser2,然后对表进行增删改查都不会报错了,同时使用beeline时都可以不用指定用户和密码了(bin/beeline -u jdbc:hive2://hdp01:10000)。