请稍等 ...
×

采纳答案成功!

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

pxc容器启动报错了

2018-07-07T03:04:43.250316Z 0 [ERROR] WSREP: It may not be safe to bootstrap the cluster from this node. It was not the last one to leave the cluster and may not contain all the updates. To force cluster bootstrap with this node, edit the grastate.dat file manually and set safe_to_bootstrap to 1 .

2018-07-07T03:04:43.250343Z 0 [ERROR] WSREP: Provider/Node (gcomm://) failed to establish connection with cluster (reason: 7)

2018-07-07T03:04:43.250356Z 0 [ERROR] Aborting

由于Note1节点被我最先停止了服务, 导致现在宿主机重启后,note1启动不起来了,其它节点也就启不来了 我问下提示中说的 请编辑grastate。手动并将safetobootstrap设置为1 这个是通过命令怎么设置啊

正在回答

1回答

同学你好,非容器化的pxc节点重启的时候,主节点的safe_to_bootstrap的值必须是1。话说回来,如果node1节点宕机了重启,这时候如果存在其它运行的pxc节点,node的启动参数要加上cluser_join=node2,表示与其他节点同步数据。如果没有启动的pxc节点,想要启动node1,可以把node1容器删掉,重新创建node1,挂载数据卷v1就好了,数据也没丢失。

0 回复 有任何疑惑可以回复我~
  • 提问者 天空纸飞机 #1
    非常感觉老师的回复,由于是初次接触PXC容器,很多地方还需要要学习和了解,我想麻烦问下 这个主节点的safe_to_bootstrap的值必须是1。这个是在哪来可以设置,或者说是通过什么命令来设置?
    回复 有任何疑惑可以回复我~ 2018-07-07 13:24:00
  • 神思者 回复 提问者 天空纸飞机 #2
    同学你好,/var/lib/mysql/grastate.dat有这个参数。PXC节点在启动的时候是分为主节点和从节点的。这个跟Replication集群的主从同步不是一回事。PXC主节点不仅要启动MySQL,还要把PXC Galera启动,从节点启动只需要启动MySQL,然后加入集群就可以了。我们用的是容器化的PXC,各种启动命令都省去了。正常情况下节点用什么指令启动,就用什么命令关闭。比如在Linux系统中(非Docker容器中)PXC主节点启动命令是systemctl  start  mysql@bootstrap.service,那就用systemctl  stop  mysql@bootstrap.service去关闭。从节点用service mysql start启动急用service mysql stop关闭。最后关闭的节点,PXC把safe_to_bootstrap参数设置1,代表该节点是最后退出的,数据是最新的,这个节点应该被当做主节点启动。但是所有节点都是意外关闭的,PXC没来得及把该参数设置成1,所以再启动什么节点都启动不了。所以我们找到一个节点,把参数改成1,就能当做主节点启动了。但是在容器中,我们做不了这个事情,容器刚启动就闪退了。因此说最简便的做法是删除容器,重新创建容器,然后挂载数据卷。
    回复 有任何疑惑可以回复我~ 2018-07-07 20:24:16
  • 提问者 天空纸飞机 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-07-08 10:44:43
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信