出现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://0.0.0.0:1,Hadoop集群配置相关问题,hive,大数据,数据仓库,分布式,hadoop

 二、问题分析

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

三、执行准备工作

1、首先关闭Hadoop的服务。 

error: could not open client transport with jdbc uri: jdbc:hive2://0.0.0.0:1,Hadoop集群配置相关问题,hive,大数据,数据仓库,分布式,hadoop

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

error: could not open client transport with jdbc uri: jdbc:hive2://0.0.0.0:1,Hadoop集群配置相关问题,hive,大数据,数据仓库,分布式,hadoop

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://0.0.0.0:1,Hadoop集群配置相关问题,hive,大数据,数据仓库,分布式,hadoop

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://0.0.0.0:1,Hadoop集群配置相关问题,hive,大数据,数据仓库,分布式,hadoop

四、启动远程连接hive 

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

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

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

error: could not open client transport with jdbc uri: jdbc:hive2://0.0.0.0:1,Hadoop集群配置相关问题,hive,大数据,数据仓库,分布式,hadoop

 五、其他问题

1、你可能变了一个问题,连接被拒绝。看到这里你可能疑惑了,这他喵的是是什么问题,我在Hadoop的core-site.xml添加了呀,怎么还被拒绝。error: could not open client transport with jdbc uri: jdbc:hive2://0.0.0.0:1,Hadoop集群配置相关问题,hive,大数据,数据仓库,分布式,hadoop

 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://0.0.0.0:1,Hadoop集群配置相关问题,hive,大数据,数据仓库,分布式,hadoop

 #退出安全模式

hdfs dfsadmin -safemode leave

error: could not open client transport with jdbc uri: jdbc:hive2://0.0.0.0:1,Hadoop集群配置相关问题,hive,大数据,数据仓库,分布式,hadoop

 3、然后远程连接,同上,这样就算连上了error: could not open client transport with jdbc uri: jdbc:hive2://0.0.0.0:1,Hadoop集群配置相关问题,hive,大数据,数据仓库,分布式,hadoop

六、总结 

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

到了这里,关于出现Error: Could not open client transport with JDBC Uri: jdbc:hive2://node02:10000/;user=root:..怎么办?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包