欢迎光临
出现Error: Could not open client transport with JDBC Uri: jdbc:hive2:node02:10000;user=root:..怎么办?
   

出现Error: Could not open client transport with JDBC Uri: jdbc:hive2:node02:10000;user=root:..怎么办?

最近实现hive远程部署出现一些问题,用网上的方法修改Hadoop的core-site.xml还是连不上,出现的问题又变成了Connection Refused。用这篇文章记录一下我的解决方法。

  一、问题描述 

        当使用beeline -u jdbv:hive2://主机名:10000 -n root -p时报了以下错误:出现Error: Could not open client transport with JDBC Uri: jdbc:hive2:node02:10000;user=root:..怎么办?,第1张

 二、问题分析

         "user: root is not allowed to impersonate root-----用户:root不被允许冒充root."这其实就是用户权限的问题。给三台机器Hadoop的core-site.xml添加以下属性就行。(XXX表示用户名,上面红框里是用户root所以我就改成的root。千万不要改成主机名!!!!!!)。然后重启Hadoop(stop-all.sh,start-all.sh)。


        hadoop.proxyuser.XXX.hosts
        *


        hadoop.proxyuser.XXX.groups
        *

三、执行准备工作

1、首先关闭Hadoop的服务。 

出现Error: Could not open client transport with JDBC Uri: jdbc:hive2:node02:10000;user=root:..怎么办?,第2张

2、接着开启Hadoop的服务。 (命令jps查看是否起开了进程)

出现Error: Could not open client transport with JDBC Uri: jdbc:hive2:node02:10000;user=root:..怎么办?,第3张

3、开启MySQL服务。

#启动MySQL服务

systemctl start mysqld.service

#查看MySQL服务状态 

systemctl status mysqld.service

#显示active(running)说明MySQL服务启动成功了 。

出现Error: Could not open client transport with JDBC Uri: jdbc:hive2:node02:10000;user=root:..怎么办?,第4张

4、开启远程主机的hiveserver2。(我的远程hive主机是node02) 

hive --service hiveserver2

 #如果执行"hive --service hiveserver2"后边多了"Hive Seession ID=*******"也是开启了hiveserver2监听服务,只要不报错就行。(建议使用后台运行命令:“hive --service hiveserver2 &”),这样可以使用"jps"查看进程是否起开。

出现Error: Could not open client transport with JDBC Uri: jdbc:hive2:node02:10000;user=root:..怎么办?,第5张

四、启动远程连接hive 

#node02改成你要远程连接的主机名

beeline -u jdbc:hive2://node02:10000 -n root -p

#显示下面的结果就表示你连上了,恭喜(其实这是网上大多数的做法)!如果没连上,继续往后看

出现Error: Could not open client transport with JDBC Uri: jdbc:hive2:node02:10000;user=root:..怎么办?,第6张

 五、其他问题

1、你可能变了一个问题,连接被拒绝。看到这里你可能疑惑了,这他喵的是是什么问题,我在Hadoop的core-site.xml添加了呀,怎么还被拒绝。出现Error: Could not open client transport with JDBC Uri: jdbc:hive2:node02:10000;user=root:..怎么办?,第7张

 2、其实就是安全问题(三台机器都要执行关闭防火墙,退出安全模式)

 #关闭防火墙

systemctl stop firewalld.service    

 #防火墙重启不启动

systemctl disable firewalld.service

 #查看防火墙服务(显示dead说明关掉了)

systemctl status firewalld.service

出现Error: Could not open client transport with JDBC Uri: jdbc:hive2:node02:10000;user=root:..怎么办?,第8张

 #退出安全模式

hdfs dfsadmin -safemode leave

出现Error: Could not open client transport with JDBC Uri: jdbc:hive2:node02:10000;user=root:..怎么办?,第9张

 3、然后远程连接,同上,这样就算连上了出现Error: Could not open client transport with JDBC Uri: jdbc:hive2:node02:10000;user=root:..怎么办?,第10张

六、总结 

        以上就是hive远程部署连不上的相关问题,当hive远程连不上时,多半时用户权限问题或者是安全问题。本文还有许多不足的地方,欢迎各位大佬指点;如果觉得本文解决了你hive远程连接不上的问题,请予以支持,给予我记录更多文章的动力。

 
 雪里红咸菜的做法大全  花乡花卉市场搬迁新址  锦鸡儿阅读答案  汶川地震英雄事迹  重楼种植方法重楼种植技术  医院个人工作总结 
打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《出现Error: Could not open client transport with JDBC Uri: jdbc:hive2:node02:10000;user=root:..怎么办?》
文章链接:https://goodmancom.com/wl/176010.html