问题标签 [multi-master-replication]
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.
mariadb - 如何修复 MariaDB 中的多主复制错误
我在 MariaDB 中有一个多主环复制设置。3台服务器。
我的一台服务器磁盘空间不足,我最终需要重新启动服务器。现在,在这样做之后,两个从属服务器在从属状态中报告此错误。
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Error: connecting slave requested to start from GTID 1-1-426253, which is not in the master's binlog'
我真的很困惑如何从这个错误中恢复我的从服务器,有人可以告诉我如何告诉这个从服务器从它的主服务器上的正确 GTID 开始吗?
谢谢
mysql - 如何更新现有数据库中的所有主键
我正在使用 tungsten 将 mysql 多主复制转移到生产中。我已经在 my.cnf 文件中设置了自动增量和偏移值。为此,我必须将所有数据库的所有主键更新为自动递增。有人做过吗?有人可以帮我做吗?目前我有 4 个数据库,我需要使用自动增量更新所有主键。
谢谢, 斯瓦鲁普
postgresql - 为跨高延迟链接的 3 主复制配置 bucardo?
我是 bucardo 的新手,需要安装它以进行数据库复制。这个想法是复制 3 个具有相同内容的数据库。
我有一个安装在本地机器上的数据库,我称之为“db1”。
我有第二个数据库,我将在云服务器上称之为“db2”。
我有第三个数据库,我将在与 db1 和 db2 物理距离远的本地计算机上将其称为“db3”。
我需要 bucardo 通过以下方式复制 3 个数据库:
db1 与 db2 复制;
db3 与 db2 复制;
我相信这种方法可以让我在 3 个数据库上拥有相同的数据,对吗?
另外,我相信我必须在带有 db1 和 db3 的服务器上安装 bucardo,对吗?
非常感谢您的支持
问候
保罗
mysql - mysql 复制主-主-主
我们目前已将 MySQL 配置为支持故障转移: Site1 <----> Site2 。虽然它们被设置为主/主。在给定的时间点,只有一个站点正在被应用服务器主动写入。我们要设置一个新的故障转移站点。然后我们将拥有 Site1<--->Site2<--->Site3。三向复制。同样,只有一个站点会主动写入数据库。另外两个只是备用。目前 Site1 和 Site2 运行的是稍旧的 5.5.29,但我们希望在新的 Site3 上使用 5.6.20。最终我们会升级到其他的 5.6.20,但我们现在必须以这种方式运行。
这可能吗?有什么建议或注意事项吗?
提前致谢
replication - 分布式消息传递算法?
我有一个分布式应用程序,我想在其中复制一个最终一致的状态。该数据适用于 CRDT ( http://pagesperso-systeme.lip6.fr/Marc.Shapiro/papers/RR-6956.pdf ),它具有每个节点在给定相同消息集的情况下确定性的优良特性无需复杂的共识协议即可收敛到相同的值。
但是,我需要另一个消息传递/日志层来确保每个节点都能看到每条消息,即使面对不利的网络条件也是如此。
具体来说,我正在寻找具有以下属性的算法:
- 在异步网络上工作。
- 节点只需要知道他们的邻居,而不是整个网络。
- 可以随时添加或删除节点(即,网络不是固定大小或拓扑)。
- 网络可以是非循环的(如果需要,这可能是一个要求)。
- 能够更新由于临时网络中断或消息丢失而落后的节点。
- 能够使加入集群的新空节点保持最新。
- 网络收敛到一个值所花费的时间没有硬性限制(即,每个节点接收每条消息),但如果没有分区,它应该相当快(用模糊的术语来说,几秒钟,不是分钟)。
- 大小有界。保留整个消息历史(将无限增长)的算法是不合适的。
有人知道具有这些属性的算法吗?
node.js - 具有主-主复制支持的键值存储
我正在为具有以下功能的 Node.js 寻找基于文件的嵌入式存储:
支持复制实时更改的主-主复制,因此您可以轻松地拥有一个 node.js 进程集群(在多个服务器上),您可以在其中读取或写入其中任何一个。应该考虑适当的冲突解决机制。
支持 JSON 和二进制值
非基于内存
percona - pt-table-sync 无法修改 binlog_format
我有一个生产 percona master-master 集群。辅助主服务器有一个复制错误,并且使用 pt-table-sync,我正在尝试同步主服务器。看起来 binlog_format="STATEMENT" 对于任何同步操作都是必需的。以下是 pt-table-sync 错误
pt-table-sync --verbose --dry-run --sync-to-master h=,u=root,p=,D=,t=
失败 / !50108 SET @@binlog_format := 'STATEMENT' /: DBD::mysql::db do failed: Access denied; 在 /usr/local/bin/pt-table-sync 行,您需要(至少一个)超级权限才能执行此操作 [for Statement "/ !50108 SET @@binlog_format := 'STATEMENT' /"] 10827。
此工具需要 binlog_format=STATEMENT,但当前 binlog_format 设置为 MIXED,并且在尝试更改时出错。如果运行 MySQL 5.1.29 或更新版本,设置 binlog_format 需要 SUPER 权限。在运行此工具之前,您需要手动将 binlog_format 设置为“STATEMENT”。由于 DESTROY 没有 DBD::mysql::db 句柄 enablen_aws;host= 的显式 disconnect() 而发出 rollback() 。. . ;mysql_read_default_group=client 在 /usr/local/bin/pt-table-sync 第 10830 行。
由于这是生产集群,有没有办法让 pt-table-scan 在不完全停止复制的情况下工作?在两个主服务器上手动更新 binlog_format 会影响相应从服务器上的复制吗?
感谢帮助。
redis - 在不同机器上使用 Redis Replication(多主机)
我想在我的应用程序中使用 Redis 作为分布式缓存。要求之一是具有 Active Active 可用性,这意味着我在一个地方拥有一个数据中心,在其他地方拥有另一个数据中心。如果一个数据中心出现故障,我希望我的用户没有任何感觉,并且能够从第二个站点的第一个数据中心获取所有数据并继续工作——在第二个站点也有一个主控。可能吗?
hadoop - 关于 hadoop federation 的同步问题
我对 hadoop federation 有一些疑问。据我所知,它有多个主节点(namenode)同时运行。
所以我的问题是,如果客户有请求,如何确定哪个主机为客户的请求提供服务。
另一个问题是每个master中存储的元数据是否相互并发。
如果masters中的数据是并发的,而两个client同时在两个不同的master上请求,如何处理同步问题。
希望我把我的问题说清楚。我只在 apache hadoop 上阅读网页。任何材料和教程都非常感谢。非常感谢您的评论和更正。
database - 跨数据中心主从复制有什么好的解决方案?
假设我们有一个分布式系统,其中数据按用户 ID 分片。在大多数情况下,每个分片都由拥有该分片的用户更改。有不止一个数据中心,用户使用 DNS、cookie 或其他方式在这些数据中心之间进行平衡。即在大多数情况下,每个用户都由一个数据中心提供服务。这意味着我们可以以 master-master 方式在数据中心之间复制数据。当然,写入冲突是可能的,但它们很少见,可以使用 CRDT 或矢量时钟来解决。如果某些数据中心出现故障,用户可能会被重定向到其他数据中心!
是否有任何数据库能够解决所描述的问题?也许 AWS 或 Google Cloud 提供的某些服务提供了解决方案?