radondb / xenon Goto Github PK
View Code? Open in Web Editor NEWThe MySQL Cluster Autopilot Management with GTID and Raft
License: GNU General Public License v3.0
The MySQL Cluster Autopilot Management with GTID and Raft
License: GNU General Public License v3.0
Update to https://github.com/go-sql-driver/mysql/releases/tag/v1.4.1
Does it support ansible playbook or other auto-deloyment tools?
xenon does enable raft at the step16 of rebuildme, but some IDLE node should not enable raft to FOLLOWER, here change the StartAsIDLE config to SuperIDLE.
If a node is configed as SuperIDLE, the enable raft will do:
1. Fires 'change master to'
2. Keep IDLE state
Hi, I had configure replication with xenon. When I do a test, something confused me.
When I stopped the xenon running on the master, the master was remove from the replication. For example, A is master, B and C are slave. xenon running on the master A was stopped, the replication became B(new master) to C(slave). A became other instance not in the replication. Why? There are no problems on the master A, in fact A was serviceable, only the xenon was stopped.
From the document「1.3 How Raft+ Works」
When the Master is not serviceable, Slave1 and Slave2 immediately start a new winner.
Can you make me understand it? Thank you.
Chech the json config first when xenon start.
MySQL ueses Engine commit(If MySQL trx prepare and flush to data, it will be committed. ) to protect data security. But it may not be suite for MySQL Cluster.
你好 、 xenon 研发同学。
部署好的 xenon+mysql 集群已经运行了一段时间, 发现执行 /data/xenon/bin/xenoncli cluster mysql 命令会出现cluster.go:480: unexpected error: get.client.error[dial tcp 192.168.39.167:8801: i/o timeout],如下图所示。
后面我把这个 xenon 程序stop ,然后start 。发现xenon的状态是 INVALID
以下是日志
[16:02:13 root@k8s-node-01 xenon]# cat xenon.log
xenon:[{Tag:v1.0.9-1-gc50a100 Time:2020/04/29 08:46:43 Git:c50a100 GoVersion:go1.14.2 Platform:linux amd64}]
2021/06/26 16:00:42.380592 [INFO] main: tag=[v1.0.9-1-gc50a100], git=[c50a100], goversion=[go1.14.2], builddate=[2020/04/29 08:46:43]
2021/06/26 16:00:42.380790 [WARNING] xenon.conf.raft:[&{MetaDatadir:raft.meta HeartbeatTimeout:1000 AdmitDefeatHtCnt:10 ElectionTimeout:3000 PurgeBinlogInterval:300000 SuperIDLE:false LeaderStartCommand: LeaderStopCommand: PurgeBinlogDisabled:false RequestTimeout:500 CandidateWaitFor2Nodes:60000}]
2021/06/26 16:00:42.380826 [WARNING] xenon.conf.mysql:[&{Admin:root Passwd:DOVYJ2gveVIirLzE Host:127.0.0.1 Port:3306 Basedir:/data/mysql8.0.22 Version:mysql57 DefaultsFile:/data/mysql8.0.22/config/my.cnf PingTimeout:1000 AdmitDefeatPingCnt:2 MasterSysVars: SlaveSysVars: ReplHost:192.168.39.167 ReplUser:repl ReplPasswd:replication}]
2021/06/26 16:00:42.380866 [WARNING] xenon.conf.mysqld:[&{SSHHost:192.168.39.167 SSHUser:root SSHPasswd:nnSnRp+xBKOFmSjF SSHPort:22 BackupDir:/data/mysql8.0.22/data XtrabackupBinDir:/usr/bin BackupIOPSLimits:100000 UseMemory:2GB Parallel:2 MysqldMonitorInterval:1000 Admin:root Passwd:DOVYJ2gveVIirLzE Host:127.0.0.1 Port:3306 Basedir:/data/mysql8.0.22 DefaultsFile:/data/mysql8.0.22/config/my.cnf}]
2021/06/26 16:00:42.381152 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].prepare.to.recovery.peers.from.[raft.meta].peers[[192.168.39.167:8801]].idlePeers[[]]
2021/06/26 16:00:42.381177 [INFO] server.prepare.setup.mysqlserver
2021/06/26 16:00:42.381186 [WARNING] mysqld.prepare.to.start...
2021/06/26 16:00:42.474056 [WARNING] mysqld.already.running...
2021/06/26 16:00:42.474078 [INFO] server.mysqlserver.setup.done
2021/06/26 16:00:42.474088 [INFO] server.mysql.wait.for.work[maxwait:60s]
2021/06/26 16:00:42.489500 [INFO] mysql.slave.status:&{mysql-bin.000004 57680655 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1958 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1958,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:00:42.489553 [INFO] server.mysql.gtid:{Master_Log_File:mysql-bin.000004 Read_Master_Log_Pos:57680655 Relay_Master_Log_File: Slave_IO_Running:true Slave_IO_Running_Str:Yes Slave_SQL_Running:true Slave_SQL_Running_Str:Yes Retrieved_GTID_Set:0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1958 Executed_GTID_Set:0cba804d-9845-11eb-b0db-fa163e9bad91:1-1958,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 Seconds_Behind_Master:0 Slave_SQL_Running_State:Slave has read all relay log; waiting for more updates Last_Error: Last_IO_Error: Last_SQL_Error:}
2021/06/26 16:00:42.489575 [INFO] server.mysql.set.to.READONLY
2021/06/26 16:00:42.490123 [INFO] server.mysql.start.slave
2021/06/26 16:00:42.490340 [INFO] server.mysql.check.replication.user...
2021/06/26 16:00:42.490686 [INFO] server.mysql.setup.done
2021/06/26 16:00:42.490701 [INFO] server.prepare.setup.RPC
2021/06/26 16:00:42.491009 [INFO] server.RPC.setup.done
2021/06/26 16:00:42.491036 [INFO] mysqld[/data/mysql8.0.22/config/my.cnf].monitor.start...
2021/06/26 16:00:42.491047 [INFO] mysql[127.0.0.1:3306].startping...
2021/06/26 16:00:42.491061 [INFO] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].raft.start...
2021/06/26 16:00:42.491175 [INFO] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].start.CheckBrainSplit
2021/06/26 16:00:42.491206 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].state.init
2021/06/26 16:00:42.491326 [WARNING] xrpc.Start.listening.on[192.168.39.167:8801]
2021/06/26 16:00:42.491337 [INFO] server.start.success...
2021/06/26 16:00:42.491343 [INFO] xenon.start.success...
2021/06/26 16:00:42.494777 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].leaderStopShellCommand[[-c ]].done
2021/06/26 16:00:42.494803 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].mysql.waitMysqlDoneAsync.prepare
2021/06/26 16:00:42.494842 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].state.machine.run
2021/06/26 16:00:42.495409 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].mysql.SetReadOnly.done
2021/06/26 16:00:42.495427 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].mysql.SetSlaveGlobalSysVar.done
2021/06/26 16:00:42.495436 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].prepareAsync.done
2021/06/26 16:00:42.501336 [INFO] mysql.slave.status:&{mysql-bin.000004 57680655 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1958 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1958,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:00:42.501398 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].init.my.gtid.is:{mysql-bin.000004 57680655 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1958 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1958,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:00:43.459841 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:43.991472 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:44.459370 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:45.459558 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:45.491951 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:46.460700 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:46.992236 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:47.462440 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:48.459498 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:48.492406 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:49.459956 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:49.992834 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:50.458966 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:51.463800 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:51.493678 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:52.459795 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:52.993987 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:53.460034 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:54.457774 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:54.494107 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:55.460327 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:55.994357 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:56.463465 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:57.462650 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:57.494515 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:58.462458 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:00:58.994784 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:00:59.460173 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:00.460270 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:00.494962 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:01.461057 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:01.995114 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:02.462786 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:03.463594 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:03.495539 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:04.463260 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:04.995809 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:05.462384 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:06.464705 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:06.495961 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:07.463703 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:07.996260 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:08.463654 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:09.464480 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:09.496800 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:10.460974 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:10.997015 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:11.463696 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:12.465038 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:12.497577 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:13.465436 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:13.997873 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:14.467418 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:15.463660 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:15.498224 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:16.464437 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:16.998408 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:17.464747 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:18.469714 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:18.499186 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:19.465306 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:19.999382 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:20.464325 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:21.463087 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:21.500581 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:22.464104 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:23.000820 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:23.466962 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:24.467790 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:24.501302 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:24.570185 [INFO] mysql.slave.status:&{mysql-bin.000004 57683413 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1962 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1962,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:25.466976 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:25.666384 [INFO] mysql.slave.status:&{mysql-bin.000004 57683413 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1962 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1962,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:26.001421 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:26.226163 [INFO] mysql.slave.status:&{mysql-bin.000004 57683413 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1962 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1962,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:26.466934 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:26.816453 [INFO] mysql.slave.status:&{mysql-bin.000004 57683413 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1962 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1962,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:27.349656 [INFO] mysql.slave.status:&{mysql-bin.000004 57683413 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1962 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1962,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:27.466789 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:27.501571 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:27.847386 [INFO] mysql.slave.status:&{mysql-bin.000004 57683413 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1962 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1962,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:28.467647 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:29.002103 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:29.467825 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:30.467635 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:30.503307 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:31.468236 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:32.003609 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:32.468363 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:33.469618 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:33.503849 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:34.472446 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:35.004252 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:35.470297 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:36.470724 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:36.505045 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:37.471026 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:38.005288 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:38.470004 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:39.470284 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:39.506212 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:40.469646 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:41.006448 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:41.471915 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:42.474189 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:42.506759 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:43.103250 [INFO] mysql.slave.status:&{mysql-bin.000004 57685766 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1964 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1964,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:43.472371 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:44.007034 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:44.474044 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:45.399258 [INFO] mysql.slave.status:&{mysql-bin.000004 57685766 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1964 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1964,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:45.472811 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:45.507228 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:46.338145 [INFO] mysql.slave.status:&{mysql-bin.000004 57685766 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1964 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1964,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:46.473672 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:47.007541 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:47.473403 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:47.968206 [INFO] mysql.slave.status:&{mysql-bin.000004 57685766 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1964 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1964,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:48.473309 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:48.507730 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:48.797818 [INFO] mysql.slave.status:&{mysql-bin.000004 57686187 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1965 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1965,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:49.475140 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:50.007921 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:50.008067 [INFO] mysql.slave.status:&{mysql-bin.000004 57686187 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1965 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1965,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:50.473337 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:50.832914 [INFO] mysql.slave.status:&{mysql-bin.000004 57686187 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1965 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1965,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:01:51.472657 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:51.508092 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:52.475658 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:53.008452 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:53.474967 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:54.473878 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:54.508610 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:55.474622 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:56.008813 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:56.475106 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:57.476667 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:57.509003 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:58.474316 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:01:59.009338 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:01:59.476117 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:02:00.474590 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:02:00.509589 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:02:01.473740 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:02:02.009840 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:02:02.476089 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:02:03.475916 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:02:03.509956 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:02:04.476939 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:02:05.010190 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:02:05.492110 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:02:06.477866 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].process.heartbeat.request.RetCode.not.OK:ErrorInvalidRequest
2021/06/26 16:02:06.510434 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:0].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:02:07.321738 [WARNING] server.rpc.node.add:&{From: Nodes:[192.168.39.162:8802 192.168.39.127:8803]}
2021/06/26 16:02:07.322225 [INFO] FOLLOWER[ID:192.168.39.167:8801, V:0, E:1].check.peers.json.file[raft.meta/peers.json].stat[name:peers.json, mode:-rwxr-xr-x, size:72, lastmodified:2021-06-26 16:02:07.321878393 +0800 CST]
2021/06/26 16:02:07.322280 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:1].add.peer[192.168.39.162:8802].to.peers[map[192.168.39.162:8802:0xc0001895c0]]
2021/06/26 16:02:07.329151 [INFO] FOLLOWER[ID:192.168.39.167:8801, V:0, E:2].check.peers.json.file[raft.meta/peers.json].stat[name:peers.json, mode:-rwxr-xr-x, size:94, lastmodified:2021-06-26 16:02:07.328878364 +0800 CST]
2021/06/26 16:02:07.329185 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:2].add.peer[192.168.39.127:8803].to.peers[map[192.168.39.127:8803:0xc000189710 192.168.39.162:8802:0xc0001895c0]]
2021/06/26 16:02:07.487994 [INFO] mysql.slave.status:&{mysql-bin.000004 57686187 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1965 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1965,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:02:07.488038 [WARNING] FOLLOWER[ID:192.168.39.167:8801, V:0, E:2].get.heartbeat.my.gtid.is:{mysql-bin.000004 57686187 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1965 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1965,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:02:07.546353 [INFO] mysql.get.local.uuid:[8b92218c-af9f-11eb-8207-fa163e0362cf]
2021/06/26 16:02:07.546920 [INFO] mysql.get.local.uuid:[8b92218c-af9f-11eb-8207-fa163e0362cf]
2021/06/26 16:02:07.547729 [WARNING] follower.gtid[&{mysql-bin.000004 57686187 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1829-1965 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1965,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }].bigger.than.remote[&{mysql-bin.000004 57686187 true true 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1965,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77658,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 }]
2021/06/26 16:02:07.547762 [WARNING] INVALID[ID:192.168.39.167:8801, V:0, E:2].get.heartbeat.from[N:192.168.39.162:8802, V:105, E:2].change.mysql.master
2021/06/26 16:02:08.010688 [WARNING] INVALID[ID:192.168.39.167:8801, V:0, E:2].ping.responses[1].is.less.than.half.maybe.brain.split
2021/06/26 16:02:08.013100 [WARNING] INVALID[ID:192.168.39.167:8801, V:0, E:2].send.ping.to.peer[192.168.39.127:8803].client.call.ok.rsp[&{{0 0 FOLLOWER} { 0 false false } OK}]
2021/06/26 16:02:08.014062 [WARNING] INVALID[ID:192.168.39.167:8801, V:0, E:2].send.ping.to.peer[192.168.39.162:8802].client.call.ok.rsp[&{{0 0 LEADER} { 0 false false } OK}]
2021/06/26 16:02:08.394047 [WARNING] INVALID[ID:192.168.39.167:8801, V:0, E:2].get.heartbeat.change.to.the.new.master[192.168.39.162:8802].successed
2021/06/26 16:02:08.394078 [WARNING] INVALID[ID:192.168.39.167:8801, V:0, E:2].get.heartbeat.from[N:192.168.39.162:8802, V:105, E:2].update.view
2021/06/26 16:02:08.394089 [WARNING] INVALID[ID:192.168.39.167:8801, V:0, E:2].do.updateViewID[FROM:0 TO:105]
2021/06/26 16:02:08.394458 [WARNING] INVALID[ID:192.168.39.167:8801, V:105, E:2].follower.state.machine.exit
2021/06/26 16:02:08.397859 [WARNING] INVALID[ID:192.168.39.167:8801, V:105, E:2].leaderStopShellCommand[[-c ]].done
2021/06/26 16:02:11.411235 [INFO] mysql.slave.status:&{mysql-bin.000004 57686633 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1966 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1966,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:02:13.316226 [INFO] mysql.slave.status:&{mysql-bin.000004 57686633 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1966 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1966,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:02:20.152371 [INFO] mysql.slave.status:&{mysql-bin.000004 57687054 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1966-1967 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1967,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:02:21.160871 [INFO] mysql.slave.status:&{mysql-bin.000004 57687054 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1966-1967 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1967,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
2021/06/26 16:02:21.740884 [INFO] mysql.slave.status:&{mysql-bin.000004 57687054 true Yes true Yes 0cba804d-9845-11eb-b0db-fa163e9bad91:1966-1967 0cba804d-9845-11eb-b0db-fa163e9bad91:1-1967,
8b92218c-af9f-11eb-8207-fa163e0362cf:1-77660,
933c3599-af9c-11eb-a5cb-fa163efebf78:1-33793,
eb9aad49-9843-11eb-91a3-fa163e0362cf:1-6597 0 Slave has read all relay log; waiting for more updates }
请xenon 研发人员帮忙看一下。 谢谢
拓扑描述:
192.168.36.115 master(主机名)----(主库)
192.168.36.116 slave (主机名)----(从库1)
192.168.36.117 normal(主机名)----(从库2)
vip:192.168.36.200
下面是3节点的配置文件:
xenon1.txt
xenon2.txt
xenon3.txt
下面是keepalived配置文件:
keepalived1.txt
keepalived2.txt
问题描述:
因为每次通过VIPvip打开一个新的连接,mysql主机都改变,没有办法确通过VIP连接的一定是主库,而且后期我想通过proxysql做读写分离,proxysql是基于端口或者sql语句进行读写分离。但是我的mysql集群都基于xenon的搭建的,只有一个VIP和一个端口进行连接的,而且是访问后端mysql是轮询模式,怎么实现读写分离?
请研发氙的同学帮忙解决一下。 thanks
Currently the log in xenon output without filename:
2021/03/08 06:15:46.028670 [INFO] main: tag=[v1.1.4-1-g63fd6c2], git=[63fd6c2], goversion=[go1.14.4], builddate=[2021/03/08 06:15:00]
2021/03/08 06:15:46.028749 [WARNING] xenon.conf.raft:[&{MetaDatadir:raft.meta HeartbeatTimeout:1000 AdmitDefeatHtCnt:10 ElectionTimeout:3000 PurgeBinlogInterval:300000 SuperIDLE:false LeaderStartCommand: LeaderStopCommand: PurgeBinlogDisabled:false RequestTimeout:500 CandidateWaitFor2Nodes:60000}]
2021/03/08 06:15:46.028774 [WARNING] xenon.conf.mysql:[&{Admin:root Passwd: Host:192.168.0.9 Port:3306 Basedir:/home/ubuntu/percona-server/xpkg1/install Version:mysql57 DefaultsFile:/home/ubuntu/percona-server/xpkg1/install/bin/my3306.cnf PingTimeout:1000 AdmitDefeatPingCnt:2 MasterSysVars: SlaveSysVars: ReplHost:192.168.0.2 ReplUser:qc_repl ReplPasswd:repl}]
2021/03/08 06:15:46.028804 [WARNING] xenon.conf.mysqld:[&{SSHHost:192.168.0.9 SSHUser:ubuntu SSHPasswd:ubuntu SSHPort:22 BackupDir:/home/ubuntu/data3306 XtrabackupBinDir:/home/ubuntu/percona-server/xpkg1/install BackupIOPSLimits:100000 UseMemory:2GB Parallel:2 MysqldMonitorInterval:1000 MaxAllowedLocalTrxCount:0 Admin:root Passwd: Host:192.168.0.9 Port:3306 Basedir:/home/ubuntu/percona-server/xpkg1/install DefaultsFile:/home/ubuntu/percona-server/xpkg1/install/bin/my3306.cnf}]
We should add file info, add log.Lshortfile into code like:
const (
D_LOG_FLAGS int = log.LstdFlags | log.Lmicroseconds
)
changed to
const (
D_LOG_FLAGS int = log.LstdFlags | log.Lmicroseconds | log.Lshortfile
)
sometimes next test cases run failed.
=== RUN TestNormalTicker
Error Trace: common_test.go:85
Error: Not equal:
expected: 1
received: 0
--- FAIL: TestNormalTicker (0.10s)
=== RUN TestCommand
Error Trace: linux_test.go:71
Error: Expected nil, but got: cmd.outs.[sleep: missing operand].found[0]!=expects[1]
--- FAIL: TestCommand (0.03s)
A,B,C 主机做了集群后,在D机器,做了radon,在E机器,连接D 主机创建的radon proxy后,进入mysql console,执行sql创建数据就卡死了
Now rpl_semi_sync_master_timeout just settings in MySQL config and leader of two-node cluster.
If we just add a new follower to a two-node cluster but do not restart MySQL, now the value of does not change to a large number.
So semi-sync maybe degrades to async.
Detailed description:
If the role of the new node that we will add to the two-node cluster is FOLLOWER
, we need to modify rpl_semi_sync_master_timeout.
But If It is IDLE
, we should not modify rpl_semi_sync_master_timeout.
When Leader start, we first to wait the sql_thread to relay all the relay log, here is a race:
if the relay gets some errors, we should degrade to follow
We don't want to affect MySQL services when we upgrade xenon, so after the upgrade need to let the old LEADER continue to run as the LEADER and skip leaderStartShellCommand.
If I want to get user list from xenon cluster, I must create a user and call mysql client, this method is inconvenient, so it's best to add an API to get mysql users.
update .travis.yml to go 1.11.x
semi-sync-timeout-for-two-nodes:
The test case errors I met like next, should I need to do some configraion before I run make test?:
On Mac:
=== RUN TestNormalTicker
--- FAIL: TestNormalTicker (0.10s)
Error Trace: common_test.go:83
Error: Not equal:
expected: 1
received: 0
=== RUN TestRunCommandWithTimeout
--- PASS: TestRunCommandWithTimeout (1.01s)
=== RUN TestRunCommand
--- PASS: TestRunCommand (0.01s)
=== RUN TestCommand
--- FAIL: TestCommand (0.04s)
Error Trace: linux_test.go:60
Error: Expected nil, but got: cmd.outs.[sleep: missing operand].found[0]!=expects[1]
FAIL
FAIL xbase/common 1.703s
make[1]: *** [testcommon] Error 1
make: *** [test] Error 2
On linux:
=== RUN TestCLIInitCommand
init.go:58: unexpected error: getEth[192.168.0.14].can.not.found.eth
2019/03/22 10:07:01.832637 [PANIC] getEth[192.168.0.14].can.not.found.eth
--- FAIL: TestCLIInitCommand (0.01s)
panic: [PANIC] getEth[192.168.0.14].can.not.found.eth [recovered]
panic: [PANIC] getEth[192.168.0.14].can.not.found.eth
goroutine 404 [running]:
testing.tRunner.func1(0xc4201ae5a0)
/usr/lib/go-1.10/src/testing/testing.go:742 +0x29d
panic(0x822f80, 0xc42032a990)
/usr/lib/go-1.10/src/runtime/panic.go:502 +0x229
xbase/xlog.(*Log).Panic(0xc4200a3f90, 0x8ce9fc, 0x2, 0xc420269b50, 0x1, 0x1)
/home/ubuntu/github/xenon/src/xbase/xlog/xlog.go:142 +0x190
cli/cmd.ErrorOK(0x92d3e0, 0xc42032a950)
/home/ubuntu/github/xenon/src/cli/cmd/common.go:35 +0x222
cli/cmd.initCommandFn(0xc420274000, 0xc4202e64d0, 0x1, 0xb)
/home/ubuntu/github/xenon/src/cli/cmd/init.go:58 +0x88
vendor/github.com/spf13/cobra.(*Command).execute(0xc420274000, 0xc4202e6420, 0xb, 0xb, 0xc420274000, 0xc4202e6420)
/home/ubuntu/github/xenon/src/vendor/github.com/spf13/cobra/command.go:603 +0x234
vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc420274000, 0xc42032a8a0, 0x8d1e80, 0xc42025cec0)
/home/ubuntu/github/xenon/src/vendor/github.com/spf13/cobra/command.go:689 +0x2d4
cli/cmd.executeCommand(0xc420274000, 0xc4202e6420, 0xb, 0xb, 0x0, 0x0, 0x0, 0x1)
/home/ubuntu/github/xenon/src/cli/cmd/common.go:101 +0xda
cli/cmd.TestCLIInitCommand(0xc4201ae5a0)
/home/ubuntu/github/xenon/src/cli/cmd/init_test.go:27 +0x179
testing.tRunner(0xc4201ae5a0, 0x8f51d8)
/usr/lib/go-1.10/src/testing/testing.go:777 +0xd0
created by testing.(*T).Run
/usr/lib/go-1.10/src/testing/testing.go:824 +0x2e0
FAIL cli/cmd 0.796s
makefile:56: recipe for target 'testcli' failed
make[1]: *** [testcli] Error 1
make[1]: Leaving directory '/home/ubuntu/github/xenon'
makefile:28: recipe for target 'test' failed
make: *** [test] Error 2
For go(>=1.8) , it's clean for xrpc to return err instead of RetCode.
按手册都已经搭建好了,但是全都是follow,only-read,并没有自动选举一个leader
2021/06/23 16:28:33.908122 [INFO] mysql.slave.status:&{ 0 false false }
2021/06/23 16:28:33.908290 [INFO] mysql.master.status:&{mysql-bin.000017 236 true true 31f483d7-d324-11eb-b1da-000c29a5210a:1-2,
4496becd-d324-11eb-b5d0-000c29d747f6:1-26 0 }
拓扑描述:
10.103.70.122 db01(hostname) ---- (主库)
10.103.70.123 db02 (hostname)---- (从库1)
10.103.70.124 db03(hostname) ----(从库2)
下面是3节点的配置文件:
xenon.json(db01).txt
xenon.json(db02).txt
xenon.json(db03).txt
下面是报错日志:
xenon-db01.log.txt
xenon-db02.log.txt
xenon-db03.log.txt
从报错信息:
CANDIDATE[ID:10.103.70.124:8801, V:223, E:2].send.requestvote.to.peer[db02:3306].new.client.error[dial tcp 10.103.70.123:3306: getsockopt: connection refused
可以看出是实例端口问题,xenon找的3306端口,但是实际上我的环境mysql 实例都不是3306,因此报错。
请xenon研发同学帮忙解决!!!
fix some bad code style, like:
r.lock.Add(1)
should be channed to
r.wg.Add(1)
func (l *LinuxArgs) Start() []string {
should be changed to
func (l *LinuxArgs) GenerateStartCmd() []string {
Add MySQL 8.0 support.
日志报错如下:
xenon:[{Tag:v1.0.1-3-g6bf0a31 Time:2018/11/10 01:15:23 Git:6bf0a31 GoVersion:go1.9.4 Platform:linux amd64}]
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x721b8c]
请xenon研发同学帮忙解决!!! thanks
add API for rpl_semi_sync_master_timeout
If MySQL is in a high stress state, it may not be enough to set the MySQL GTID timeout to 5s.
Now xenon check the mysqld_safe --defaults-file=[] process is running by bash, if mysql and xenon are not in the same machine, how can it work? Maybe we can use ping() better ?
// check the mysqld_safe --defaults-file=[] process is running.
func (m *Mysqld) isMysqldRunning() bool {
log := m.log
args := m.argsHandler.IsRunning()
outs, err := m.cmd.RunCommand(bash, args)
if err != nil {
log.Error("mysqld57.isMysqldRunning.error[%v:%+v]", outs, err)
return false
}
running, err := strconv.Atoi(strings.TrimSpace(outs))
if err != nil {
log.Error("isMysqldRunning.error[%+v]", err)
return true
}
return (running > 0)
}
1
Master(A)
-----/------\----------网络分区----
Slave1(B) Slave2(C)
如果出现网络分区, Master仍然存活, 但是Master无法和Slave1,2通信, A无法和B,C通信. 但是应用仍然可以访问Master, 但由于不满足半同步最小从库数, 所有写入都被阻塞等待ack, 此时Xenon会如何处理?
2
Master(A)
-----/------\----------网络分区----
Slave1(B) Slave2(C)
如果出现网络分区, Master hang(可能由于内核bug, 任何请求都无法响应), 且Master无法和Slave1,2通信, A无法和B,C通信. 应用也不能访问Master, 此时Xenon会如何处理?
3
Master(A) ---> Slave4(E)
-------/------|------\----------网络分区----
Slave1(B) Slave2(C) Slave3(D)
如果出现网络分区, Master和Slave4仍然存活, 但无法和Slave1,2,3通信, A,E无法和B,C,D通信, 应用仍然可以访问Master, 满足半同步最小从库数, 写入数据可以提交, 此时Xenon会如何处理?
src/raft/cmd.go
func (r *Raft) leaderStopShellCommand() error {
args := []string{
"-c",
r.conf.LeaderStopCommand,
}
if out, err := r.cmd.RunCommand(bash, args); err != nil {
r.ERROR("leaderStartShellCommand[%v].out[%v].error[%+v]", args, out, err)
return err
}
r.WARNING("leaderStopShellCommand[%v].done", args)
return nil
}
r.ERROR("leaderStopShellCommand[%v].out[%v].error[%+v]", args, out, err)
The config json file:
"server": {
"endpoint": "test-krypton-1.test-krypton.default:8801"
},
When the container start, get error logs:
2021/04/16 03:18:29.911339 trace.go:32: [WARNING] FOLLOWER[ID:test-krypton-1.test-krypton.default:8801, V:0, E:0].state.init
2021/04/16 03:18:29.913554 server.go:186: [PANIC] server.rpc.start.error[listen tcp: lookup test-krypton-1.test-krypton.default on 10.96.0.10:53: no such host
xbase/xrpc.(*Service).Start
/go/src/github.com/radondb/xenon/src/xbase/xrpc/xrpc.go:54
server.(*Server).Start
/go/src/github.com/radondb/xenon/src/server/server.go:185
main.main
/go/src/github.com/radondb/xenon/src/xenon/xenon.go:79
runtime.main
/usr/local/go/src/runtime/proc.go:203
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1357]
According to normal logic, the program should exit at this time. Actually xenon still run because of the code recover() , but we cannot listen the endpoint.
目前perconca的xtrabackup还不能兼容mysql8.0,xenon是否支持mysql8.0.
Now "check replication users" is in mysql.Ping(). This has nothing to do with the function of Ping().
PIng() {
...
CheckUserExists()
...
}
We should mv it out of Ping() like:
Ping(){
}
CheckUserExists(){
}
Xenon is an autopilot tool and now only works with MySQL.
We need a MariaDB handler like https://github.com/radondb/xenon/blob/master/src/mysql/mysql57.go to autopilot MariaDB.
Distinguish the system library, self-built and vendor library.
e.g., next should be adjusted:
import (
"build"
"config"
"flag"
"fmt"
"log"
"net/http"
_ "net/http/pprof"
"os"
"server"
"xbase/xlog"
)
to
import (
"flag"
"fmt"
"net/http"
_ "net/http/pprof"
"os"
"build"
"config"
"log"
"server"
"xbase/xlog"
)
./xenoncli cluster mysql
+-------------------+----------+-------+-----------+------------------------+----------------+
| ID | Raft | Mysql | Option | Master_Log_File/Pos | IO/SQL_Running | Seconds_Behind |
+-------------------+----------+-------+-----------+------------------------+----------------+
| 168.5.80.101:8801 | LEADER | ALIVE | READWRITE | [mysql-bin.000012/194] | [true/true] |
+-------------------+----------+-------+-----------+------------------------+----------------+
| 168.5.80.110:8801 | FOLLOWER | ALIVE | READONLY | [/4] | [false/true] |
+-------------------+----------+-------+-----------+------------------------+----------------+
| 168.5.80.94:8801 | FOLLOWER | ALIVE | READONLY | [/4] | [false/true] |
+-------------------+----------+-------+-----------+------------------------+----------------+
2018/08/30 09:21:47.256256 [INFO] server.mysql.wait.for.work[maxwait:60s]
2018/08/30 09:21:47.259514 [INFO] mysql.slave.status:&{ 4 false No false No befc84a7-ab60-11e8-bf7c-005056896b97:1-8 }
2018/08/30 09:21:47.259545 [INFO] server.mysql.gtid:{Master_Log_File: Read_Master_Log_Pos:4 Relay_Master_Log_File: Slave_IO_Running:false Slave_IO_Running_Str:No Slave_SQL_Running:false Slave_SQL_Running_Str:No Retrieved_GTID_Set: Executed_GTID_Set:befc84a7-ab60-11e8-bf7c-005056896b97:1-8 Seconds_Behind_Master: Slave_SQL_Running_State: Last_Error: Last_IO_Error: Last_SQL_Error:}
2018/08/30 09:21:47.259549 [INFO] server.mysql.set.to.READONLY
2018/08/30 09:21:47.259802 [INFO] server.mysql.start.slave
2018/08/30 09:21:47.410705 [INFO] server.mysql.check.replication.user...
2018/08/30 09:21:47.410993 [INFO] server.mysql.setup.done
2018/08/30 09:21:47.410999 [INFO] server.prepare.setup.RPC
2018/08/30 09:21:47.411180 [INFO] server.RPC.setup.done
2018/08/30 09:21:47.411209 [INFO] mysqld[/etc/my.cnf].monitor.start...
2018/08/30 09:21:47.411216 [INFO] mysql[localhost:3306].startping...
2018/08/30 09:21:47.411224 [INFO] FOLLOWER[ID:168.5.80.94:8801, V:0, E:0].raft.start...
2018/08/30 09:21:47.411277 [WARNING] xrpc.Start.listening.on[168.5.80.94:8801]
2018/08/30 09:21:47.411280 [INFO] server.start.success...
2018/08/30 09:21:47.411283 [INFO] xenon.start.success...
三个节点xenon配置几乎一样
"replication":
{
"user":"root",
"passwd":"123456"
},
"backup":
{
"ssh-host":"168.5.80.94",
"ssh-user":"root",
"ssh-passwd":"",
"basedir":"/usr/local/mysql",
"backupdir":"/opt/xenon/data/mysql",
"xtrabackup-bindir":"/opt/xenon",
"backup-iops-limits":100000,
"backup-use-memory": "2GB",
"backup-parallel": 2
},
不知道怎么排查问题,以及提供什么信息才能表述清楚。
I found some misspell errors like, we can fix them:
xenon/src/model/mysql.go
Line 31: warning: "postion" is a misspelling of "position" (misspell)
xenon/src/raft/candidate.go
Line 64: warning: "boradcast" is a misspelling of "broadcast" (misspell)
Line 86: warning: "boradcast" is a misspelling of "broadcast" (misspell)
xenon/src/raft/mock.go
Line 135: warning: "boradcast" is a misspelling of "broadcast" (misspell)
Line 149: warning: "boradcast" is a misspelling of "broadcast" (misspell)
xenon/src/raft/raft_test.go
Line 254: warning: "boradcast" is a misspelling of "broadcast" (misspell)
...
...
The switch ... case
has no meaning here, we should remove it and new log with default DEBUG
:
switch flag_log {
case "STD":
log = xlog.NewStdLog(xlog.Level(xlog.DEBUG))
case "SYS":
log = xlog.NewSysLog(xlog.Level(xlog.DEBUG))
default:
log = xlog.NewStdLog(xlog.Level(xlog.DEBUG))
}
log.SetLevel(conf.Log.Level)
defer log.Close()
请问xenon可以管理一台服务器上的多个实例不?如果可以,怎么配置呢?
A Three-node cluster, if two slave nodes SQL thread exceptions are caused for some network reason, slave nodes will directly stop slave
.
This causes a MySQL semi-sync ERROR because all query requests on the master node are waiting.
Master semi-sync variables:
rpl_semi_sync_master_timeout=1000000000000000000
rpl_semi_sync_wait_no_slave=ON
rpl_semi_sync_master_wait_point=AFTER_SYNC
Maybe xenon needs two new API: stopslavemonitor & startslavemonitor
Detailed description:
These two apis can only be executed when raft role is IDLE.
xenoncli mysql stopslavemonitor
When a slave executes stopslavemonitor, this slave will stop slave status monitor.
xenoncli mysql startslavemonitor
When a slave executes slaveslavemonitor, this slave will start a slave monitor.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.