问题标签 [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.
mysql - 如何从我的 galera 集群中删除节点?
除了为我要删除的每个节点设置 'wsrep_cluster_address='gcomm://' 之外,还有什么更好的方法吗?
mysql - What is the node status after a commit in a Galera cluster
As stated by the Galera documentation, the cluster uses synchronous replication. But looking a bit deeper, there are statements, that Galera is only "virtually" synchronous. On the nodes, a commit has to pass a "certification" instead a physical commit. I really need to understand this part to plan the architecture of an application.
So I like to now which of the following cases would be true if any:
Script A does an UPDATE
in a transaction taking approximate 5 seconds and a COMMIT
takes a few seconds either. A Script B follows when Script A is finished immediately, for example with a HTTP-Redirect after HTTP-POST-Request within a second. Script B queries a different node than script A.
- Script B gets the status before the
UPDATE
because theUPDATE
still needs around 4 seconds to finish. - Script B gets the status after the
UPDATE
because theCOMMIT
finishes when the state of all nodes is synchronous.
Which one would be true if any? Or is the behavior dependent on configuration?
grails - grails应用程序中的Mysql连接超时,在ELB上使用mariadb galera集群
我刚刚迁移了我的数据库以支持从 mysql 到 mariadb 的 2 节点集群数据库的复制。数据库托管在不同的域上并通过 ELB 访问,当我将应用程序指向其中一个节点时,应用程序工作正常,但是当我使用 ELB url 连接数据库时,它会随机波动并经常显示以下错误
这是我的数据源配置:-
谁能找出问题所在并提供可能的解决方案
mysql - 从 JBoss AS 5 到 Wildfly 8 的集群数据源迁移
我们计划从 Jboss 5 迁移到 Wildfly 8.2。在数据库方面,我们有一个带有 MariaDB 10 的三节点 Galera 集群。
在 Jboss 5 上,我们在 ds.xml 文件中有以下设置:
在 Jboss 5 上一切正常。但在 Wildfly 8.2 上我无法达到同样的效果。从管理控制台,我能够毫无问题地添加一个非集群数据源并且它可以工作。示例网址:jdbc:mysql://ip-node1/DBname
但是当我尝试像上面那样添加集群 URL 时,我收到以下错误:
如何将 Wildfly 连接到集群数据源?我知道可以插入像 HAProxy 这样的外部负载均衡器,但我更愿意让架构尽可能简单。
mysql - Percona xtradb 集群节点崩溃
我有一个带有三个节点的 PXC。但是当其中一个节点崩溃时,其他节点也会效仿。
以下错误的第一段(尝试获取一些变量...)是什么意思?在什么情况下会发生此错误或消息?
mariadb - 在 Galera 集群上自动运行 DDL 查询时的问题
我们有一个在 WildFly 8.2 和 MariaDB 10 上运行的 Java Web 应用程序。我们目前正在评估从单个 MariaDB 服务器迁移到使用 HAProxy 1.5 作为负载均衡器的三节点 Galera/MariaDB 集群。
当仅针对集群发出 DML 命令时,一切正常。但是在某些情况下,我们的 Java 应用程序会运行 DDL 命令,例如 CREATE TABLE 或 ALTER TABLE。例如,在 Web 界面中可以创建新客户。任何这样的客户都会获得 50 个新表来存储其数据。
假设我们添加 id 为 123 的客户,应用程序将运行以下 DDL 和 DML 查询组合:
我们有 wsrep_osu_method=toi(默认值)。
创建这样的客户后,我检查了新创建的表,并且很多时候我发现节点之间存在不一致。表格本身已正确复制,但内容未正确复制。某些节点上的一些新表包含尚未复制到其他节点的数据。
我做了一些测试,只将 Java 应用程序直接连接到单个节点,避免了 HA 代理。我遇到了同样的不一致,但不同之处在于只有应用程序直接连接到的节点才保存未复制的数据。在之前的测试中,未复制的数据分散在所有节点上。
我不明白这种行为。我在日志中没有得到任何相关错误。
运行此类 DDL 查询是经常发生的事情。当然,我们希望自动而不是手动完成。当应用程序运行 DDL 和 DML 时,这种情况的最佳方法是什么?
我们的优先事项如下(按此顺序):
在 DDL 运行期间和之后保持一致性。
在应用程序代码中做最少的更改。
如果可能,自动而不是手动运行 DDL。
mariadb - MariaDB Galera 集群的 DR 设置
我有两个带有 3 个节点的 MariaDB Galera 集群。
集群 1:MDB-01、MDB-02、MDB-03 集群 2:MDBDR-01、MDBDR-02、MDBDR-03
这两个集群位于两个不同的数据中心,这些数据中心位于两个地理区域。
集群 1 是 PRODUCTION 集群,集群 2 是 DR 集群
根据链接中的给定配置,已在 MDB-01 到 MDBDR-01 之间设置了使用 GTID 的异步复制: http ://www.severalnines.com/blog/deploy-asynchronous-replication-slave-mariadb-galera-cluster-gtid -clustercontrol (链接是 MariaDB Galera 集群到独立 MariaDB 实例之间的异步复制。但是我为 MariaDB Galera 集群到 MariaDB Galera 集群之间的异步复制设置了相同的配置)
我可以使用以下命令从当前的从 MDBDR-01 => MDB-01 切换到 MDBDR-01 => MDB-02:
将 MASTER 更改为 master_host='MDB-02'
但是,如果 MDBDR-01 出现故障,我正在挑战如何指向 MDBDR-02 => MDB-01。
您能否提供输入以实现指向 MDBDR-02 => MDB-01 或 MDBDR-03 => MDB-01。
mysql - 与捐助者完全同步后,PXC 节点仍未启动
我在 PXC 中有一个节点停止了,现在从捐助者完全同步后,它仍然没有启动。下面提供了来自捐赠者的错误日志消息:
当我在施主节点上运行“show status like 'wsrep%'\G”时,它显示 wsrep_local_state_comment 从 DONOR/DESYNCED 更改为 SYNCED。我相信这表明完全同步已完成。但我不确定为什么节点不会启动。
mysql - Percona Cluster 节点崩溃后无法启动
我们有一个大约 11 个节点的 Percona Xtradb 集群。其中一个节点在大约 2 天前崩溃了,但现在即使在捐助者指示 SST 过程已完成并且该节点现在已加入集群之后也无法再次启动。
当我检查无法启动的崩溃节点的日志时,我不断重复看到此错误(以小时为间隔):
但在此消息在几个小时后在错误日志中弹出一次之前和之后,唯一记录的行是:
……
什么可能导致这种情况发生?为什么这个节点不会重新启动?以及如何修复节点、启动它并让它再次加入集群?
cluster-computing - mariaDB 忽略特定节点上的数据库
对于 mariaDB 集群,我正在尝试构建以下结构:
我有 3 个节点。节点 1 将数据库“目录”复制到节点 2 并忽略数据库“地址”。
节点 2 上有“目录”和“地址”。节点 3 只复制“地址”。
是否可以告诉节点忽略特定数据库?我发现的只是这个命令:https ://mariadb.com/kb/en/mariadb/replication-and-binary-log-server-system-variables/#replicate_ignore_db
看来,这只适用于整个集群,而不是单个节点?