• MariaDB Galera Cluster集群故障恢复


    mariadb galera cluster集群故障恢复时,经常会遇到节点无法启动的情况,启动服务时报错:

    systemctl start mariadb
    Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.

    一般情况下,如果集群中还有存活的节点,那么离线的节点只需要执行systemctl start mariadb即可重新加入集群,但如果所有节点均已离线,就会出现这种情况,此时需要人工确定启动顺序,先检查每个节点的/var/lib/mysql/grastate.dat文件,以测试环境为例,当前两节点上的mariadb服务均处于停止状态,grastate.dat的内容分别为:

    # GALERA saved state
    version: 2.1
    uuid: 44f8dbe5-1271-11eb-8206-1e1a48859dc8
    seqno: 157035
    safe_to_bootstrap: 0
    # GALERA saved state
    version: 2.1
    uuid: 44f8dbe5-1271-11eb-8206-1e1a48859dc8
    seqno: 157036
    safe_to_bootstrap: 1

    可以看到两者有相同的uuid,但seqno和safe_to_bootstrap不同。集群中seqno最大的节点是优先启动节点,一般它的safe_to_bootstrap=1。此时以galera_new_cluster方式启动优先节点,然后再以systemctl start mariadb方式启动其它节点,集群就顺利恢复了。

  • 相关阅读:
    1002CSP-S模拟测试赛后总结
    「题解」:X国的军队
    1001CSP-S模拟测试赛后总结
    「题解」:联
    0929CSP-S模拟测试赛后总结
    「题解」:Kill
    「题解」:y
    Censoring【自动AC机】【水题毁我青春】【20190614】
    传说级快读
    针对值域与下标关系的总结
  • 原文地址:https://www.cnblogs.com/BoyTNT/p/14229299.html
Copyright © 2020-2023  润新知