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