hiveserver2拒绝连接
报错信息:
Could not open client transport with JDBC Uri:jdbc:hive2://master:10000/gmall:java.net.ConnectException: Connectionrefused: connect.
一:未进行代理配置
在core-site.xml文件中添加以下配置
xxx表示对应的用户名
<property>
<name>hadoop.proxyuser.xxx.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.xxx.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.xxx.users</name>
<value>*</value>
</property>
参数解释
这里以用户kang为例
hadoop.proxyuser.kang.hosts
:指定允许通过代理访问的主机节点,其中“*”表示允许任何主机进行代理访问。
hadoop.proxyuser.kang.groups
:指定用户kang允许代理的用户所属的组,其中“*”表示允许任何组进行代理访问。
hadoop.proxyuser.kang.users
:指定用户kang允许代理的用户列表,其中“*”表示允许任何用户进行代理访问。
这些配置项主要是用于管理Hadoop中的代理用户,以确保在代理用户进行访问时,系统可以安全地对代理用户进行身份验证,并对其进行授权,允许该用户通过代理方式访问Hadoop集群中的其他节点。
二:Hadoop处于安全模式
当hadoop处于安全模式下时,只允许查询数据,并且hiveserver2会拒绝连接
退出safemode
hadoop dfsadmin -safemode leave
参数解释
enter
: 进入安全模式
leave
:强制离开安全模式
get
:查看安全模式是否开启
wait
:等待安全模式结束
之后重启集群 / hiveserver2,就可以正常连接了