MGR 参数

transaction_write_set_extraction

表示节点必须收集每个事务的写集(write set),并使用 XXHASH64 哈希算法将其编码为hash 值。
loose-group_replication_group_name用来告诉插件,有一个名为"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"的组需要加入,或者 需要创建。

loose-group_replication_start_on_boot告诉插件,在启动MySQL实例时不要自动启动组复制功能。
loose-group_replication_local_address告诉插件,该实例使用 ipx:33081端口作为组中成员之间的通信地址。选项 groupreplicationlocal_address 配置的本地地址必须能和组中其他所有成员通信。
loose-group_replication_group_seeds 告诉插件,如果节点要加入该组,需要联系这些主机。这些是种子成员(seed members),当节点要连接该组时需要使用这些成员。在某节点要加入组时,需要联系其中的一个(种子),然后请求组重新配置成员列表,以允许在组中接受该节点。注意,不需要在该选项中列出组中的所有成员,只需要列出节点希望加入组时应该联系的服务器列表。
loose-group_replication_single_primary_mode和loose-group_replication_enforce_update_everywhere_checks :和单主/多主模式有关。配置设置为单主模式。
loose-group_replication_ip_whitelist  配置白名单

group_replication_allow_local_disjoint_gtids_join
允许服务器加入组,即使该服务器具有组中不存在的本地事务也是如此。在5.7.21版中已弃用,并计划在以后的版本中将其删除。

slave_pending_jobs_size_max

在多线程复制时,在队列中Pending的事件所占用的最大内存,默认为16M,如果内存富余,或者延迟较大时,可以适当调大;注意这个值要比主库的max_allowed_packet大

group_replication_autorejoin_tries

MySQL 8.0.16 版本在 MGR 插件上增加了一个新的特性,节点自动重新加入组复制功能
在某些场景下,比如网络抖动,在网络恢复后无需人为干预,节点自动重新加入组复制,这一特性提升了 MySQL MGR 的容错能力和高可用能力。8.0.16 引入,默认值3,最小值0,最大值2016,比如设置为3则表示会尝试3次重新加入组复制,重试的间隔为5分钟。需要设置参数 group_replication_exit_state_action

group_replication_exit_state_action
在MySQL 8.0.16中,group_replication_exit_state_action的默认值已更改为READ_ONLY
此参数在8.0.12推出,当一个服务器实例非故意离开群组时,允许用户配置群组复制的行为。
group_replication_exit_state_action具有以下两个值:
ABORT_SERVER:服务器自行关闭;
READ_ONLY: 服务器将自身切换到超级只读模式。
早期的group_replication_exit_state_action默认值设置为ABORT_SERVER,当成员无意中离开群组时,服务器会自行关闭。默认ABORT_SERVER的基本原理是阻止失败的服务器进行读写操作,因为所有连接都将被删除。但在收集了社区反馈后,我们重新审视了这个决定,并决定将MySQL_8.0中的READ_ONLY作为默认操作。

group_replication_member_expel_timeout

8.0.13 引入,默认值5,最小值0,最大值31536000  怀疑的超时时间。MGR 组成员在产生怀疑后等待的时间(秒),然后将怀疑失败的成员从组中驱逐出去。在怀疑产生前的最初5秒的检测周期不计入此时间。

测试结论:将 group_replication_unreachable_majority_timeout 设置为 N 秒,需要等到 N+5 秒后,节点才会变为 ERROR 状态并脱离集群。因此为了防止网络抖动而导致的节点脱离集群,建议调整这个值,不要使用默认值0,可以使用5。
对于 >=8.0.16 的 mysql 版本,可以使用 group_replication_autorejoin_tries 参数进一步提升 MySQL MGR 的容错能力和高可用能力。

group_replication_unreachable_majority_timeout

参考https://www.jianshu.com/p/935793aa51b0

group_replication_transaction_size_limit

默认143MB, 单个事务超过143MB集群断开, 最大2GB

灌数据的时候要分批进行,尽量不要有超过100MB的大事务

group_replication_compression_threshold

压缩使用LZ4算法,阈值缺省为1000000字节,只压缩大于该参数指定字节数的事务,设置为0将禁用压缩

group_replication_poll_spin_loops

组通信线程(Group Communication Thread,GCT)在加载组复制插件后循环运行。GCT从组插件接收消息,处理仲裁和故障检测相关任务,发送活动消息,并处理服务器和组之间的双向事务传输。当队列中没有消息时,GCT进入睡眠状态。通过在实际进入睡眠状态之前将等待时间设置为稍长,即进行主动等待,在某些情况下是有益的,因为GCT频繁休眠可能浪费可用的CPU时间。要强制GCT执行活动等待,使用group_replication_poll_spin_loops选项。此选项控制GCT在进入睡眠状态前尝试接收消息的次数,也可说是控制通信线程的贪婪程度,默认值为0。在网速很慢的环境中,适当配置该选项可以降低事务延迟。按官方文档的说法,该选项只是作为一种微调手段。

MGR 启用并行复制

如果设置了并行复制 slave_parallel_workers,那么这些参数也要被设置,用于确保所有的组成员按照相同的顺序执行并提交事务:
    slave_preserve_commit_order=1
    slave_parallel_type=LOGICAL_CLOCK

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值