暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

跟着文档学MGR:Configuring Member Actions

天天李拜天DBA 2022-06-13
1125


最近开始学习MGR架构,但是不知道哪里有系统的介绍MGR的学习地方。所以就想到了最笨的办法,看官方文档。也就想到了做一个跟着文档学习MGR的笔记。这里很多内容是看文档做的翻译,如果有不正确或不严谨的地方请谅解


18.5.1.5 Configuring Member Actions

MySQL 8.0.26
开始GR集群可以设置成员在特定情况下执行某些动作。成员行为(member actions
)可以通过函数管理开启/关闭。还可以让成员在离开集群时的动作设置为重置为默认值。

配置该选项需要有GROUP_REPLICATION_ADMIN
权限才可以进行配置。dba可以在集群的Primary 节点 上使用group_replication_enable_member_action 或者 group_replication_disable_member_action
函数设置成员的动作.在使用了该函数后,GR集群会将其当做组消息处理发送到其他成员和加入集群的节点(内容包括:所有节点的动作(actions
)和是enabled
还是 disabled
).因此所有的成员的动作是一样的.

这个成员函数(member actions
)也可以作用在GR集群以外的节点,只要安装了 Group Replication plugin
.但是这样就不会将动作传给其他成员了。

如果想使用这些组函数的节点是组中的一部分,在Single-Primary
模式下必须是Primary
节点,且还需要等到超过半数投票的同意。这个配置是GR集群内部的他不会分配GTID.所以不会写到binary log
中,也就不会传到外部复制中。在每次diabled
enabled
后都会增加配置版本号

配置发送的流程

  • 当启动集群时,集群引导节点的节点函数配置(the member actions configuration
    )将是集群的配置
  • 当集群节点的所有版本都支持这个组函数的配置,在有新的节点加入集群交换信息时会收到集群发送来的 组函数配置,这时,新节点会将接收到的配置作为自己的配置
  • 当集群的部分节点不支持这个组函数配置时,节点加入集群则不会受到集群发送来的组函数配置。那新加入节点将使用自己的配置作为默认值。

注意:一个不支持 member actions
的节点无法加入一个已经配置了 member actions
的集群。


查询 member actions
信息
  • Performance_Schema. replication_group_member_actions
    表中记录了member action
    的信息:有哪些event
    ,是否启用, 还有优先级(priority
    :从1-100,数字越小优先级越高)。如果节点在执行member actions
    时报错了,会被记录下来(ERROR_HANDLING
    列)但是一般可以忽略(状态为IGNORE
    )。但是当出现为CRITICAL
    状态时则需要设置group_replication_exit_state_action
    来处理了

Performance_Schema.replication_group_configuration_version
. 这张表记录了这个节点的member actions configuration
的版本。每当member actions
发生disabled
enabled
都会增加


函数介绍
  • group_replication_reset_member_actions

    这个函数只能用在不是GR集群中一员的时候使用。他可以重置节点的member actions
    的配置。并且使 version
    重置为1;
    执行该函数的节点必须是可写(read_only=off
    )并且安装了Group Replication plugin
    . 一般使用的场景有:

    1. 想重置一个节点的member actions
      ,但必须离开GR集群
    2. 建立一个没有membere actions
      的独立服务

使用group_replication_reset_member_actions

SELECT group_replication_reset_member_actions();

  • mysql_disable_super_read_only_if_primary

    这个函数可以让Single-Primary
    模式的集群在选出新主时状态为super_read_only=on
    ; 以便让集群只进行replicated transactions
    事务(追平事务)而不接收来自客户端新的写请求。使用的场景可以是:当一个集群(A)的主要目的是向另一个组(B)提供辅助备份实现容灾效果,确保(B) 和A组的数据同步

默认情况下 在选举后super_read_only
是关闭的,这样新主就可以接收来自客户端的read-write
请求。

配置集群Action方法

如果想关闭mysql_disable_super_read_only_if_primary,
节点必须处于super_read_only=off

--- 禁用
 mysql> SELECT group_replication_disable_member_action("mysql_disable_super_read_only_if_primary""AFTER_PRIMARY_ELECTION");
 
mysql> select * from performance_schema.replication_group_member_actions  where name='mysql_disable_super_read_only_if_primary';
+------------------------------------------+------------------------+---------+----------+----------+----------------+
| name                                     | event                  | enabled | type     | priority | error_handling |
+------------------------------------------+------------------------+---------+----------+----------+----------------+
| mysql_disable_super_read_only_if_primary | AFTER_PRIMARY_ELECTION |       0 | INTERNAL |        1 | IGNORE         |
+------------------------------------------+------------------------+---------+----------+----------+----------------+
1 row in set (0.00 sec)


 --- 开启
  mysql> SELECT group_replication_enable_member_action("mysql_disable_super_read_only_if_primary""AFTER_PRIMARY_ELECTION");


mysql> select * from performance_schema.replication_group_member_actions  where name='mysql_disable_super_read_only_if_primary';
+------------------------------------------+------------------------+---------+----------+----------+----------------+
| name                                     | event                  | enabled | type     | priority | error_handling |
+------------------------------------------+------------------------+---------+----------+----------+----------------+
| mysql_disable_super_read_only_if_primary | AFTER_PRIMARY_ELECTION |       1 | INTERNAL |        1 | IGNORE         |
+------------------------------------------+------------------------+---------+----------+----------+----------------+
1 row in set (0.00 sec)







References

[1]
 思维导图:Configuring Member Actions: https://www.zhixi.com/view/569a6f83


文章转载自天天李拜天DBA,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论