当我尝试使用hiverserver2启动Hive时,出现以下错误。
library(dplyr)
agg_data = ZNH2 %>%
mutate(Type = `Sample type`, value = as.numeric(value)) %>%
group_by(Date2, Type) %>%
summarize(mean_value = mean(value, na.rm = TRUE),
se = sqrt(var(value, na.rm = TRUE) / sum(!is.na(value)))) %>%
filter(Type != "id.vars") %>%
ungroup() %>%
mutate(Type = factor(Type),
Type = reorder(Type, -mean_value, na.rm = TRUE))
ggplot(agg_data, aes(x = Date2, y = mean_value, fill = Type)) +
geom_area(position = 'identity', alpha = 0.4) +
geom_line(aes(color = Type), lwd = 1) +
geom_errorbar(aes(ymin = mean_value - se, ymax = mean_value + se, color = Type), lwd = 0.7, width = 1) +
geom_point(shape = 21)
我使用的用户名是 deco 。
我还在core-site.xml文件中添加了以下条目:
Connecting to jdbc:hive2://localhost:10000
18/10/25 09:45:38 [main]: WARN jdbc.HiveConnection: Failed to connect to localhost:10000
Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: deco is not allowed to impersonate anonymous (state=08S01,code=0)
我仍然无法使用Beeline进行连接。我使用了以下命令:
<property>
<name>hadoop.proxyuser.deco.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.deco.groups</name>
<value>*</value>
</property>
和
$HIVE_HOME/bin/beeline -u jdbc:hive2://localhost:10000
我什至备份了metastore_db文件夹,并使用以下命令重新启动:
$HIVE_HOME/bin/beeline -n $(whoami) -u jdbc:hive2://localhost:10000
我什至在hiveserver2的10001端口上启动并将beeline连接到10001,仍然出现相同的错误
以上所有都证明是徒劳的。
帮助我快死了
答案 0 :(得分:1)
我曾经遇到这个错误
不允许用户*冒充匿名用户
这是因为默认情况下,hive尝试以调用用户的身份执行操作,因此我在hive配置文件conf / hive-site.xml中添加了以下几行,要求hive以hiveserver2进程用户的身份执行操作,然后将其删除错误:
MCAUSER
假冒
默认情况下,HiveServer2执行查询处理的方式为 提交查询的用户。但是如果以下参数是 设置为false时,查询将以hiveserver2的用户身份运行 进程运行为。
hive.server2.enable.doAs –默认情况下模拟连接的用户 是的。