***: Failed to get schema version. *** : Communications link failure
来源:2-2 Hive安装部署
Rancho蓝卓
2022-09-14 22:11:38
在进行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,准备在群里问大家的时候,再看了一眼错误日志,突然发现是有一个配置有点问题:
ConnectionURL少配置了一个斜杠"/",然后就导致了几个小时被这个问题卡住,改正之后就能初始化正常了。
然后在mysql hive数据库里也有新增几十个表。
记录上面这些,是给有遇到该问题的其他同学一个参考思路,可能就因为某个配置的一个符号错误,就导致出现连接不上的情况。所以还是要多细心检查文件的配置情况。幸好这个是打印出来了,不然如果是其他配置有问题的话则可能还要花费更多时间、走更多冤枉路。
有点遗憾的是:老师有提到可以在centos 系统上安装mysqlclient,可我这边使用yum无法安装,没有该源,导致无法在linux环境上连接mac 上的mysql服务以早点确认服务连接的情况。如果有同学找到了,可以麻烦回复告知一声,谢谢。
1回答
徐老师
2022-09-15
点个赞,解决问题的思路很清晰。
yum安装mysqlclient需要配置yum源,目前课程中没有演示,安装mysqlclient主要是为了便于验证和mysql服务器的端口是否可以联通,以及是否开启了远程访问权限。
相似问题