使用mycat配置分库失败查看日志报错“NoRouteToHostException: 没有到主机的路由“
Posted 二木成林
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用mycat配置分库失败查看日志报错“NoRouteToHostException: 没有到主机的路由“相关的知识,希望对你有一定的参考价值。
异常
使用mycat配置分库失败,然后查看mycat的日志文件mycat.log,有如下异常:
2021-06-16 18:08:30.291 ERROR [$_NIOConnector] (io.mycat.net.NIOConnector.finishConnect(NIOConnector.java:155)) - error:
java.net.NoRouteToHostException: 没有到主机的路由
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:1.8.0_291]
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:715) ~[?:1.8.0_291]
at io.mycat.net.NIOConnector.finishConnect(NIOConnector.java:164) ~[Mycat-server-1.6.7.1-release.jar:?]
at io.mycat.net.NIOConnector.finishConnect(NIOConnector.java:143) ~[Mycat-server-1.6.7.1-release.jar:?]
at io.mycat.net.NIOConnector.run(NIOConnector.java:98) ~[Mycat-server-1.6.7.1-release.jar:?]
2021-06-16 18:08:30.291 INFO [$_NIOConnector] (io.mycat.net.AbstractConnection.close(AbstractConnection.java:520)) - close connection,reason:java.net.NoRouteToHostException: 没有到主机的路由 ,mysqlConnection [id=0, lastTime=1623838107276, user=root, schema=mydb, old shema=mydb, borrowed=false, fromSlaveDB=false, threadId=0, charset=utf8, txIsolation=3, autocommit=true, attachment=null, respHandler=null, host=192.168.88.136, port=3306, statusSync=null, writeQueue=0, modifiedSQLExecuted=false]
2021-06-16 18:08:30.291 INFO [$_NIOConnector] (io.mycat.sqlengine.SQLJob.connectionError(SQLJob.java:125)) - can't get connection for sql :select user()
2021-06-16 18:08:30.291 ERROR [$_NIOConnector] (io.mycat.backend.heartbeat.MySQLHeartbeat.nextDector(MySQLHeartbeat.java:215)) - set Error 1 DBHostConfig [hostName=hostM2, url=192.168.88.136:3306]
2021-06-16 18:08:30.291 INFO [$_NIOConnector] (io.mycat.backend.datasource.PhysicalDatasource$1$1.connectionError(PhysicalDatasource.java:508)) - connection connectionError
原因
配置mycat的分库,需要修改schema.xml文件,但我只是把该文件复制到Windows系统下修改了,没有同步到Linux系统中。
使用vim schema.xml命令查看,发现没有被修改过
下面的才是分库的schema配置:
解决
正确配置mycat分库,修改schema.xml文件,修改后重启mycat。
以上是关于使用mycat配置分库失败查看日志报错“NoRouteToHostException: 没有到主机的路由“的主要内容,如果未能解决你的问题,请参考以下文章
MySQL+MyCat分库分表 读写分离配置MySQL+MyCat分库分表 读写分离配置