采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师您好,docker服务重启之后,pxc的node1 闪退,其他节点可以启动,但是mysql客户端根本无法连接,您说“执行 docker rm node1”,其他节点客户端依旧连接不上,而且,Redis各个节点都能启动,但是集群也连接不上,请详细给出解决方法,谢谢!
同学你好,Docker服务重启之后,如果是普通容器,重新启动即可,但是集群的容器比较特殊重启会闪退或者使用不了,这也是我们创建数据卷持久化保存数据的原因。如果你重启了容器,把PXC集群节点删除,然后重新创建PXC集群,因为数据卷还在所以不必担心。Redis集群也是如此,但是Redis是用内存缓存数据,没有持久化存储,一旦重启数据都会丢失,为了解决这个问题,我们要使用Redis的AOF技术。Redis所有的行为都被记录在日志里面,所以宕机之后可以利用日志恢复Redis的数据。当然了日志也应该保存在数据卷里面才行。
谢谢老师的耐性回答,刚才Redis集群无法连接是因为重启后忘记到容器内部执行:/usr/redis/src/redis-server /usr/redis/redis.conf 了。 但是pxc1我删除了这个节点,然后 docker volume create v1.1,然后重新创建pxc1节点,在启动其他节点,整个集群就起来了,之后其他节点数据也跟清空了,因为他和pxc1节点去同步了,所以数据全没了(幸好是测试,不然就呵呵了.......),为什么就单单重启docker服务之后 之前的pxc1用的v1就闪退呢,这个太脆弱了了,感觉docker 里pxc集群根本不敢用(之前在宿主机源码安装没有这个问题),求解?
因为node1创建的时候所有节点都与之同步,一旦node1宕机重启之后,它找不到同步的节点无法加入集群所以就闪退了。node1宕机之后正确的做法是删除node1容器,再创建一个新的node1节点,然后别忘了挂上v1数据卷,再有创建node1的时候要加上join同步的节点参数,node2~node5任意即可。
老师你好,我也遇到这样的问题,能给个详细的操作步骤吗
登录后可查看更多问答,登录/注册
手把手带你学会项目分布式集群部署,让你的系统不再惧怕宕机
1.2k 28
1.7k 26
1.2k 25
1.4k 24
1.3k 21