问题标签 [galera]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
13625 浏览

load-balancing - HAproxy 状态显示 DOWN

我已经设置了经过测试的 MariaDB Galera 集群,它在以下服务器上运行良好:db1 192.169.0.1 db2 192.169.0.2 db3 192.169.0.3

它们都运行在 CentOS-6.5 上,MariaDB 版本是 10.0

我的目标是使用 HAproxy 来执行负载平衡。我已经在单独的服务器上安装和配置了 HAproxy

没有安装集群设置或 MariaDB,只有 HAproxy。问题是,HAproxy 似乎没有工作,即做负载平衡。它开始正常,我可以通过网络界面访问它:

但是服务器的状态显示它们已关闭,即使它们实际上已启动并在各自的计算机上运行。HAproxy 配置如下:

db1、db2、db3 和 db4 只是每个服务器的主机名。因此,当我在第一台服务器上运行命令 #hostname 时,它​​将显示 db1。

0 投票
0 回答
3226 浏览

mysql - MariaDB 111“连接被拒绝”

我在CentOS6.5上设置了MariaDB.10.0 Galera Cluster(包括3个节点),运行一段时间后,其中一个节点会出现以下错误。到目前为止,我只能通过重新安装 MariaDb Galera 集群来修复它。但是这个套路现在已经持续了几天,想一劳永逸地解决它。我该怎么办?顺便说一句,有一个 /var/lib/mysql/mysql.sock 文件存在,所以甚至不明白为什么错误首先出现在不同时间的不同节点上。

0 投票
1 回答
1448 浏览

mariadb - 同步与异步集群

我正在阅读 Galera Cluster 上的 mariaDD 知识库,我遇到了这个:

同步复制和异步复制的基本区别在于,“同步”保证如果更改发生在集群的一个节点上,它们会“同步”或同时发生在其他节点上。“异步”不保证在“主”节点上应用更改与将更改传播到“从”节点之间的延迟。延迟可以很短也可以很长。这也意味着如果主节点崩溃,一些最新的更改可能会丢失

最后一句话,我一直明白,即使在异步集群设置中从属设备上的更新不是同时执行的,它也会在主设备上进行更新时将这些更新记录到一个 bin 日志文件中。因此,如果主服务器在所有数据传递到从服务器之前崩溃,则当主服务器恢复时,更新仍然会继续进行,因为 bin 日志文件记录了更新。有人可以告诉我我的理解是否错误,并请为我澄清此事。谢谢。

0 投票
0 回答
461 浏览

mysql - mariadb galera 加载数据 infile 没有自动增量主键

我有一个 mariaddb galera 集群(3 个多主控),需要进行大批量插入。我见过和使用的最快的方法是通过加载数据本地 infile。该表的类型为 INNODB

当我要插入的表具有一个具有自动增量值的主键时,此方法有效。

但是,由于我将主键更改为基于 3 列(日期、凭证编号和类型)的唯一键,其中凭证编号和日期可以相同但类型不同。这不再有效。

在 php 中,错误返回是关于数据包乱序的,不是很有帮助。直接通过mysql运行,返回错误为:

ERROR 1213 (40001):尝试获取锁时发现死锁;尝试重启事务

搜索这个并没有提供一个明确的答案,但我怀疑这是因为多主集群通常使插入唯一,因为插入 auto_increment 和 auto_increment_offset 以及由覆盖集群管理器管理的集群节点号。 http://codership.blogspot.nl/2009/02/managing-auto-increments-with-multi.html

我认为 LOAD DATA INFILE 只能使用具有自动增量的主键。

但我不确定,因此这个问题可以确认这一点或帮助我通过其他参数解决问题。

非常感谢您的帮助。

0 投票
1 回答
5459 浏览

mysql - MariaDB 无法为我的 MariaDB Galera 集群节点启动

我已经配置了一个包含三个节点的 MariaDB Galera 集群。主节点和从主节点之一已启动并运行,但第三个节点不会运行。所有三个节点上的系统规格和集群配置都是相同的(除了更改每个节点上的 wsrep_node_address 和 wsrep_node_name)。

这是节点的配置(wsrep_node_address 和 wsrep_node_name 在每个节点上都是唯一的):

MariaDb 似乎不喜欢该配置

因为当我注释掉它时,MariaDB 重新启动就好了。但是当我取消注释时,它只会显示以下消息:

When i change the wsrep_cluster_address to just wsrep_cluster_address="gcomm://, MariaDb runs with no problem. So i am not sure while it is having problems with assigning the IP address (even if it works fine on the other two nodes). I have tried empting the galera.cache file, i have tried re-installing the cluster, i have tried rebooting the machine etc and nothing works so far. I even truncated the log file /var/lib/mysql/db1.err with the command truncate logfile --size 0 (now i cannot figure out how to get my log file back with space as i realized i would need the log file).

0 投票
1 回答
328 浏览

debian - 在我的开发机器上运行 MariaDB Galera 集群失败

我正在努力让 MariaDB Galera 集群在我的 Debian 7 机器上运行。我正在尝试设置一个集群,其中两个节点都在 Debian 7 上运行。

当我第一次安装 Galera 时,我可以运行它找到。然后我将以下内容添加到 /etc/mysql/conf.d/galera.cnf:

不幸的是,在使用 添加上述配置后尝试启动服务器时sudo service mysql start --wsrep-new-cluster,它无法启动。我在系统日志中收到以下错误:

有谁知道这可能是什么原因或我该如何解决?我让它在另一台运行 Debian 7 的机器上运行良好。我已经尝试完全卸载并重新安装 MariaDB Galera 并从头开始。

0 投票
1 回答
783 浏览

cluster-computing - mairadb galera 集群中不同节点上的数据库大小可以不同吗?

我有三个节点 MariaDB Galera 集群。最初,所有三个节点中的数据库大小都相同。但是最近注意到一个节点中的数据库大小比其他两个节点大。请让我知道这是否是预期的行为。

提前致谢。

0 投票
1 回答
64 浏览

mysql - 如果数据丢失是一个问题,预算低的新生应用程序是否需要高可用性?

我将在接下来的几个月内推出我的应用程序,它基本上是社交网络的一个变体,但有目的。现在我没有包含任何高可用性因素或任何形式的集群或复制。最初我以为我会从一台服务器开始,因为我的请求很少,然后根据流量和请求扩展到集群。

但是在负载测试时,我看到我的数据库由于空间问题而崩溃,我花了一些时间来恢复它。因此,为了让我的应用程序持续经营,如果我的数据库崩溃、损坏或任何其他原因,我不想丢失我的数据库或任何数据。

我同时使用 MySQL 和 Neo4j,我的应用程序试图让它们保持同步。我很想在三个 Amazon 实例上分别使用 Galera MySQL 集群和 Neo4j HA 集群来实现 MySQL 和 Neo4j 集群。尽管考虑到我一开始不会有足够的流量并且我的大部分资源都会闲置(而且价格昂贵),但这似乎有点过头了。

我准备付出额外的努力,但在金钱方面我想变得聪明!请让我知道在初始阶段我是否应该选择 HA 或承担风险并对备份感到满意并满足于因故障而丢失数据。

0 投票
1 回答
2589 浏览

mysql - Percona XtraDB Cluster SST 无法使用 rsync:wsrep_sst_rsync

我确信有一个简单的解决方法,但请原谅我是 PXC 的新手。我正在使用 rsync 将引导节点的状态传输到 node2。node2 是我要加入集群的节点。我最初尝试过 Xtrabackup,但遇到了我将在其他时间探讨的问题。现在我正在使用 rsync 来实现我认为的简单性。如果您向下滚动到 [ERROR],您将看到导致状态传输中断的问题所在。这可能是什么原因造成的?

0 投票
1 回答
2237 浏览

database - 两个数据中心之间的 Galera 集群复制

我们在两个数据中心有 4 台服务器。一条直线连接两个数据中心。我们计划从 MariaDB 切换到 MariaBD Gallera,因为循环复制很痛苦。

负载平衡器用于确定哪个服务器将处理传入请求,该请求可以是四个服务器中的任何一个。

我担心的是当数据中心之间的连接中断时会发生什么?每两个中心是否会形成一个迷你集群,直到连接恢复,然后它们再次将自己重组为一个 4 节点集群?

Galera如何防止两个数据中心连接失败时可能出现的主键重复问题?

想象一下,负载均衡器开始将请求转发到两个数据中心,并且在两个数据中心中都发生了插入,这可能会在连接恢复时导致 PK 重复问题。

在此处输入图像描述

我尝试使用 vmware station 模拟不同的情况,但是我不知道如何复制这种情况。我设法创建了一个 4 节点复制集群,并设法取出节点并将其带入集群。但是我不知道如何模拟数据中心。