***: Failed to get schema version. *** : Communications link failure

***: Failed to get schema version. *** : Communications link failure

https://img1.sycdn.imooc.com//climg/6321d90509a47c2a28580794.jpg

在进行hive的初始化命令时,会报如上错误:

org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.

Underlying cause: com.mysql.cj.jdbc.exceptions.CommunicationsException : Communications link failure


环境:

Mac M1系统的vmware虚拟机;

mysql是官网下的8.0.30,装在Mac机器上。


我首先在慕课的问答库里整体搜这个问题,里边的几篇文章也看了,老师提到的注意点我进行了相关排查:

1、在bigdata04上执行ping mysql主机的操作可以成功ping通;

2、在mac主机上查看防火墙也确认是关闭了的;

3、确认了我的mysql已开启了远程连接,方法是在mac主机上执行命令:mysql -h 172.16.249.1 -uroot -p 可以正常进入mysql;

4、在bigdata04上执行 telnet 172.16.249.1 3306 可以连上mysql;

5、确认mysql-connector-java-8.0.30.jar包已放在hive的lib目录下。


在快要放弃,都准备换一个版本mysql,准备在群里问大家的时候,再看了一眼错误日志,突然发现是有一个配置有点问题:

https://img1.sycdn.imooc.com//climg/6321de9a0971a77928460772.jpg

ConnectionURL少配置了一个斜杠"/",然后就导致了几个小时被这个问题卡住,改正之后就能初始化正常了。

https://img1.sycdn.imooc.com//climg/6321def4094cfb3328580548.jpg

然后在mysql hive数据库里也有新增几十个表。


记录上面这些,是给有遇到该问题的其他同学一个参考思路,可能就因为某个配置的一个符号错误,就导致出现连接不上的情况。所以还是要多细心检查文件的配置情况。幸好这个是打印出来了,不然如果是其他配置有问题的话则可能还要花费更多时间、走更多冤枉路。

有点遗憾的是:老师有提到可以在centos 系统上安装mysqlclient,可我这边使用yum无法安装,没有该源,导致无法在linux环境上连接mac 上的mysql服务以早点确认服务连接的情况。如果有同学找到了,可以麻烦回复告知一声,谢谢。


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
徐老师 2022-09-15 11:58:43

点个赞,解决问题的思路很清晰。

yum安装mysqlclient需要配置yum源,目前课程中没有演示,安装mysqlclient主要是为了便于验证和mysql服务器的端口是否可以联通,以及是否开启了远程访问权限。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师