我有3个节点MariaDB Galera星系团。我使用"mariabackup“作为wsrep_sst_method,但是数据库系统不能正常工作。我可以说,有时有100个连接请求每秒从客户端,所以它是一个有点麻烦的系统,但有时db系统不能服务2-6秒。连接丢失或数据库不可访问,因此,当我签入时,wsrep状态不是同步的。我应该做些什么来构建一个3节点MariaDB系统,它可以在繁忙的连接流量中正常工作?一定有什么事吗?
更多信息:所有节点都与虚拟机位于同一台服务器上,而我正在每台虚拟机中使用名为绑定的IP虚拟化。这意味着每台机器都有两个以太网连接,连接创建了一个虚拟IP来将两个IP地址表示为一个IP地址。因此,每台机器都有两个以太网连接机器人,我们只使用一个表示它们的虚拟IP。例如,Ethernet1 + Ethernet2 = bond0 --我在machine1和machine2之间使用Keepalived,因此它也使机器能够使用虚拟IP。当machine1可用时,它将连接路由到此,否则将路由到machine2。因此,Machine1_bond0 + Machine2_bond0 = Keepalived_virtualIP,我在连接问题期间检查了日志,但没有看到任何关于备存或bond0的日志。在繁忙的连接流量中,所有的资源使用都在%50以下,所以所有的资源都是足够的(200 db的磁盘,每台机器的8gb内存,它们只作为db服务器)所有的节点-机器都是可写可读的。他们都是大师。在生产过程中不会打开Slowlog。我认为只有在备份操作中才会出现问题。
发布于 2021-10-12 00:36:21
“与虚拟机在同一台服务器上”--这意味着它们在争夺CPU和I/O,特别是在备份期间。这只是个测试吗?我不会在一台机器上部署带所有节点的Galera。
当涉及SST时,3个节点中有2个涉及到SST。施主正在忙着获取和发送数据;在SST完成之前,接收方无法接收连接。
也许,在执行SST时,保持更大容量的最简单方法是有一个第四个节点。然后,4个节点中的2个可以自由地处理连接。
Galera节点需要在不同的机器上,甚至在不同的地理位置上。
同时执行(第四个节点;单独的机器)(如果可以的话)。
缓慢的日志只是一个小的负担。我建议继续使用,即使是在生产系统上。作为一个折衷方案,您可以只在一个节点上打开它。
https://dba.stackexchange.com/questions/300864
复制相似问题