连接MySQL数据库出现
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
解决办法
1.修改wait_timeout的参数值
查看wait_timeout的值,命令:show global variables like 'wait_timeout';
注意这里带上global这个是全局的。
修改wait_timeout值,命令: set global wait_timeout=86400;
检查是否修改成功,继续输入命令show global variables like 'wait_timeout';到这里就修改成功了。
2.修改mysql配置文件: vim /etc/my.cnf
添加:两行;
wait_timeout=31536000
interactive_timeout=31536000 重启mysql服务后生效。
原因之一这里写错了:你的机器名为mode1 ,写成 mode01
<value>jdbc:mysql://mode01/hive_remote?createDatabaseIfNotExist=true</value>
[root@mode2 conf]# schematool -dbType mysql -initSchema
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/hive-2.3.4/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/hadoop-2.6.5/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Metastore connection URL: jdbc:mysql://mode01/hive_remote?createDatabaseIfNotExist=true
Metastore Connection Driver : com.mysql.jdbc.Driver
Metastore connection User: root
org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
Underlying cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException : Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
SQL Error code: 0
Use --verbose for detailed stacktrace.
*** schemaTool failed ***