请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

您好,为什么双机热备一个机器关闭之后,为什么通过vip访问会报错

两台虚拟机:
分别都通过docker 安装了2个pxc ,6个数据库节点。
然后也分别在两台服务器安装了mycat,haproxy,keepalived。其中mycat配置管理了这4个pxc。

问题:为什么我关闭一台虚拟机后,通过 vip 去访问,可以链接到数据库,为什么会报1184 - java.net.NoRouteToHostException: No route to host

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

1回答

神思者 2020-03-24 10:50:04

关闭虚拟机,还能通过VIP连接上MyCat,说明虚拟IP是没问题的,现在问题出在你的MyCat上面。你试试用Navicat连接某个PXC集群,是否能正常读写数据。因为有时候PXC集群挂掉一半以上的节点会出现脑裂的现象,导致整个PXC集群全都不可以用

0 回复 有任何疑惑可以回复我~
  • 提问者 风雨夹雪 #1
    您好 ,刚才查了 在正常的虚拟机上的2个pxc,6个docker 数据库节点都可以正常写数据。我是这样部署的两个虚拟机4个pxc,分别部署了2个pxc,现在的模拟的情景一台机器挂了,直接挂了2个pxc
    回复 有任何疑惑可以回复我~ 2020-03-24 10:57:46
  • 神思者 回复 提问者 风雨夹雪 #2
    检查一下MyCat的读写分离设置,如果你的分片规则对应的节点,没有备用的读写节点,就会出现SQL路由的错误
    回复 有任何疑惑可以回复我~ 2020-03-24 11:15:35
  • 提问者 风雨夹雪 回复 神思者 #3
    是不是 如果我配置了两个dataHost 但是dataHost配置的都是一个pxc集群里面的数据库节点,这个时候写入数据和查询数据时候 是什么样子的
    回复 有任何疑惑可以回复我~ 2020-03-24 13:30:15
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信