RECOVING 状态问题
- 初始化节点也可能处于 RECOVING 状态,属于正常状态,其余节点需要等待初始节点处于 ONLINE 状态后,才能加入集群
启动组复制集群前,需要在所有节点上执行如下命令,初始化组复制通道。并保证所有的节点需要使用统一的用户名和密码。
CHANGE MASTER TO MASTER_USER="my_user", MASTER_PASSWORD="my_password," FOR CHANNEL "group_replication_recovery"如果没有执行该语句,新加入的节点将长期处于 RECOVING 状态, 如下示例。
greatdb> start group_replication; Query OK, 0 rows affected (4.21 sec) greatdb> do sleep(30); Query OK, 0 rows affected (30.00 sec) greatdb> SELECT MEMBER_HOST,MEMBER_PORT,MEMBER_STATE,MEMBER_ROLE FROM performance_schema.replication_group_members; +-------------+-------------+--------------+-------------+ | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | +-------------+-------------+--------------+-------------+ | 127.0.0.1 | 13000 | ONLINE | PRIMARY | | 127.0.0.1 | 13001 | RECOVERING | SECONDARY | +-------------+-------------+--------------+-------------+ 2 rows in set (0.00 sec)查看错误日志,有如下错误信息,提示错误的组复制通过的用户。
[ERROR] [MY-013117] [Repl] Slave I/O for channel 'group_replication_recovery': Fatal error: Invalid (empty) username when attempting to connect to the master server. Con nection attempt terminated. Error_code: MY-013117- 如果组复制集群中写入了大量的事务,新节点加入集群后,也可能长时间处于 RECOVING 状态,此时,新节点可能是在同步事务。因此,无法根据长时间处于 RECOVING 状态判断节点是否异常,此时可以查看错误日志进行判断。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




