Mariadb 10.1 joiner节点加入报错WSREP: Failed to prepare for incremental state transfer

Mariadb 10.1 galera cluster 集群joiner 节点加入集群 会出现这种报错,导致mysql一直点点点,这里我贴出报错。2016年04月19日13:34:58

2016-04-19 10:57:18 47193664784128 [Note] WSREP: Quorum results:
        version    = 3,
        component  = PRIMARY,
        conf_id    = 132,
        members    = 2/3 (joined/total),
        act_id     = 6379600,
        last_appl. = -1,
        protocols  = 0/7/3 (gcs/repl/appl),
        group UUID = 8decf2c7-fd49-11e5-a72e-f67863490496
2016-04-19 10:57:18 47193664784128 [Note] WSREP: Flow-control interval: [28, 28]
2016-04-19 10:57:18 47193664784128 [Note] WSREP: Shifting OPEN -> PRIMARY (TO: 6379600)
2016-04-19 10:57:18 47193675873024 [Note] WSREP: State transfer required:
        Group state: 8decf2c7-fd49-11e5-a72e-f67863490496:6379600
        Local state: 00000000-0000-0000-0000-000000000000:-1
2016-04-19 10:57:18 47193675873024 [Note] WSREP: New cluster view: global state: 8decf2c7-fd49-11e5-a72e-f67863490496:6379600, view# 133: Primary, number of nodes: 3, my index: 0, protocol version 3
2016-04-19 10:57:18 47193675873024 [Warning] WSREP: Gap in state sequence. Need state transfer.
2016-04-19 10:57:18 47193677977344 [Note] WSREP: Running: 'wsrep_sst_rsync --role 'joiner' --address '172.16.38.67' --datadir '/var/lib/mysql/'   --parent '7662'  '' '
2016-04-19 10:57:18 47193675873024 [Note] WSREP: Prepared SST request: rsync|172.16.38.67:4444/rsync_sst
2016-04-19 10:57:18 47193675873024 [Note] WSREP: wsrep_notify_cmd is not defined, skipping notification.
2016-04-19 10:57:18 47193675873024 [Note] WSREP: REPL Protocols: 7 (3, 2)
2016-04-19 10:57:18 47193611138816 [Note] WSREP: Service thread queue flushed.
2016-04-19 10:57:18 47193675873024 [Note] WSREP: Assign initial position for certification: 6379600, protocol version: 3
2016-04-19 10:57:18 47193611138816 [Note] WSREP: Service thread queue flushed.
2016-04-19 10:57:18 47193675873024 [Warning] WSREP: Failed to prepare for incremental state transfer: Local state UUID (00000000-0000-0000-0000-000000000000) does not match group state UUID (8decf2c7-fd49-11e5-a72e-f67863490496): 1 (Operation not permitted)
         at galera/src/replicator_str.cpp:prepare_for_IST():482. IST will be unavailable.
2016-04-19 10:57:18 47193664784128 [Note] WSREP: Member 0.0 (node1) requested state transfer from '*any*'. Selected 1.0 (node3)(SYNCED) as donor.
2016-04-19 10:57:18 47193664784128 [Note] WSREP: Shifting PRIMARY -> JOINER (TO: 6379600)
2016-04-19 10:57:18 47193675873024 [Note] WSREP: Requesting state transfer: success, donor: 1
2016-04-19 10:57:21 47193656399616 [Note] WSREP: (6d3ded9a, 'tcp://0.0.0.0:4567') turning message relay requesting off

如果细心的人,肯定会发现数据目录下有一个保存UUID的文件grastate.date 里面会保存本地mariadb的UUID。博主尝试更改里面的UUID 改成集群的UUID 就可以启动,但是这样会导致很多表的错误。所以没有继续研究下去

还有一种是让它一直点点点下去,这个过程看官方文档,也没有解释的那么详细,是和新节点的4568端口通信,然后我吃完饭回来,大概间隔20min 就同步成功了,就起来了- -!。

还有一种方法是同事说,让joiner 节点指定同步一个index=0的集群节点,就可以加入。

mariadb10.1交流很少,有交流的同学可以在本博文留言。

                                                    by:V

原文地址:https://www.cnblogs.com/shiyiwen/p/5407882.html