hiveserver2拒绝连接

一、报错内容

 二、解决办法

基本都是core-site.xml文件中没做好代理导致的。

在文件中添加如下配置

  <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>

  需要注意的是,修改后需要分发到其他服务器节点相关目录下,并且重启Hadoop。

hadoop.proxyuser.kang.hosts:指定允许通过代理访问的主机节点,其中“*”表示允许任何主机进行代理访问。

hadoop.proxyuser.kang.groups:指定用户kang允许代理的用户所属的组,其中“*”表示允许任何组进行代理访问。

hadoop.proxyuser.kang.users:指定用户kang允许代理的用户列表,其中“*”表示允许任何用户进行代理访问。


这些配置项主要是用于管理Hadoop中的代理用户,以确保在代理用户进行访问时,系统可以安全地对代理用户进行身份验证,并对其进行授权,允许该用户通过代理方式访问Hadoop中的其他节点。

三、Hadoop安全模式导致

当hadoop处于安全模式下时,只允许查询数据,并且hiveserver2会拒绝连接

查看方式

hadoop dfsadmin -safemode leave
参数解释
enter: 进入安全模式
leave :强制离开安全模式
get :查看安全模式是否开启
wait:等待安全模式结束

  

四、以上检查完毕后,重启hive2再试试把。

Step1.重新启动Hadoop

Step2.重新启动hive2

  bin/hiveserver2

Step3.启动beeline

  bin/beeline

Step4:尝试连接

  !connect jdbc:hive2://192.168.12.101:10000

       username

       password

这里需要注意的是,看你当前用户是谁,我是用子账号开启的hive2服务,这里如果是再用root用户去打开beeline尝试connect连接会报错,切到同一用户,再执行connect。

 

posted @ 2024-03-28 11:46  明明就-  阅读(257)  评论(0编辑  收藏  举报