天道酬勤,学无止境

replication

HDFS replication property not reflecting as defined in hfs-site.xml

问题 我正在使用 HDFS 并将 hfs-site.xml 中的复制因子设置为 1,如下所示: <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/Users/***/Documnent/hDir/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/Users/***/Documnent/hDir/hdfs/datanode</value > </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration> 但是当我尝试将文件从本地系统复制到 hdfs 文件系统时,我发现该文件的复制因子为 3。这是在

2022-05-16 20:33:04    分类:技术分享    java   hadoop   hdfs   replication

SymmetricDS replication DDL statements

问题 现在我尝试在 Symmetric-DS 的帮助下在不同数据库之间复制 DDL 语句(如 create、alter、drop)。 我找到了这个页面 https://www.symmetricds.org/docs/how-to/sync-schema-ddl-changes 并发现可以这样做: bin/symadmin -e root-000 --node=001 sync-triggers bin/symadmin -e root-000 --node=001 send-schema 但是,现在我无法理解是否有可能自动复制 DDL 语句? 即我在一个数据库上创建表并自动在另一个数据库上创建(不编写同步触发器和发送模式)? 谢谢。

2022-05-15 06:06:04    分类:技术分享    replication   ddl   symmetricds

Is there multi master database with customizable replication level?

问题 回答1 您可以使用分布式缓存来实现此结果。 查看它们如何在 WAN 复制策略下工作。 例如,查看 NCache Wan 复制(桥接) PS:出于性能原因,分布式缓存将所有数据保存在内存中。 你也可以坚持下去。

2022-05-13 07:29:17    分类:技术分享    database   cluster-computing   replication   distributed   multi-master-replication

SQL Server static row replication with updates based on changing column value?

问题 我将 SQL Server 设置为合并复制的发布者。 我只希望我的订阅者接收表中在特定列中具有特定值的行。 只有当状态列的值为 Completed 时,我才希望订阅者拥有该行。 使用我确实设置并按预期工作的静态行过滤器很容易。 每个订阅者只获取状态列值为 Completed 的行。 但是...问题是,当该列中的值从未完成更改为已完成时,它不会在下次同步时自动发送给订阅者。 同样,如果它从已完成变为未完成,则同步不会将其从订阅者中删除。 相反,您必须强制创建新快照并将其发送给订阅者。 鉴于数据库的大小,每天强制执行此操作是不切实际的。 我想要的是,当状态值发生变化时,它会导致所有订阅者的下一次同步删除它或根据新值下载它。 这可能吗?

2022-05-10 07:07:04    分类:技术分享    sql-server   replication

How to split read-only and read-write transactions with JPA and Hibernate

问题 我有一个相当重的 java webapp,每秒可处理数千个请求,它使用一个主 Postgresql 数据库,该数据库使用流式(异步)复制将自身复制到一个辅助(只读)数据库。 因此,考虑到复制时间最短,我使用 URL 将请求从主数据库分离到辅助数据库(只读),以避免只读调用错误主数据库。 注意:我使用一个 sessionFactory 和 spring 提供的 RoutingDataSource,它根据一个键查找要使用的 db。 我对多租户感兴趣,因为我正在使用支持它的休眠 4.3.4。 我有两个问题: 我不认为基于 URL 的拆分是有效的,因为我只能移动 10% 的流量意味着没有很多只读 URL。 我应该考虑什么方法? 不知何故,可能是基于 URL,我在两个节点之间实现了某种程度的分布,但是我将如何处理我的石英作业(甚至有单独的 JVM)? 我应该采取什么务实的方法? 我知道我在这里可能无法得到完美的答案,因为这确实很广泛,但我只是想听听您对上下文的看法。 我团队中的帅哥: 弹簧4 休眠4 石英2.2 Java7 / Tomcat7 请注意。 提前致谢。 回答1 Spring事务路由 首先,我们将创建一个DataSourceType Java Enum 来定义我们的事务路由选项: public enum DataSourceType { READ_WRITE, READ

2022-05-09 04:20:07    分类:技术分享    java   postgresql   hibernate   jpa   replication

In a master-master setup, what command or files do I edit so that it can auto-increment by 2?

问题 一台服务器递增 1、3、5。 另一个服务器增量 2, 4, 6 回答1 基于这个有见地的教程:http://www.howtoforge.com/mysql_master_master_replication#comment-12927 通过将其添加到 [mysqld] 下的 my.cnf 中,使 Master 1 仅自动递增奇数: auto_increment_increment= 2 auto_increment_offset = 1 通过将其添加到 [mysqld] 下的 my.cnf 中,使 Master 2 仅自动递增偶数: auto_increment_increment= 2 auto_increment_offset = 2

2022-05-07 05:30:03    分类:技术分享    mysql   database   replication   auto-increment

Method to replicate sqlite database across multiple servers

问题 我正在开发一个分布式工作的应用程序,并且我有一个必须在分布式服务器之间共享的 SQLite 数据库。 如果我在 serverA 中并更改 sqlite 行,则此更改必须立即在其他服务器中,但如果服务器脱机然后又联机,则它必须更新与其他服务器相同的所有信息。 我正在尝试使用小型 SQLite 数据库开发 HA 服务。 我正在考虑类似 MongoDB 或 ReThinkDB 之类的东西,因为复制工作正常,而且我有数据独立的服务器在线我有。 是否有库或其他 SQL 方法可以在服务器之间共享数据? 提前致谢。 回答1 我使用 Raft 共识协议来复制我的 SQLite 数据库。 你可以在这里找到系统: https://github.com/rqlite/rqlite 回答2 以下是一些选项: 精简版: 它支持使用单个主(可写节点)和一个或多个副本(只读节点)的 SQLite3 数据库的主从复制。 如果设备脱机然后又联机,则辅助/从属数据库将逐步更新为主/主数据库。 精简同步: 它实现了多主复制,因此我们可以在任何节点上写入数据库,即使设备处于离线状态。 在两者上,我们都使用修改后的 URI 打开数据库,如下所示: “file:/path/to/app.db?replica=master&bind=tcp://0.0.0.0:4444” 艾格莱特: 基于区块链,它具有最高级别的安全性。

2022-05-05 11:57:05    分类:技术分享    sqlite   replication   distributed-computing   high-availability   rethinkdb

Which database has the best support for replication

问题 我对 MySQL 复制可以做什么有相当好的感觉。 我想知道哪些其他数据库支持复制,以及它们与 MySQL 和其他数据库相比如何? 我会问的一些问题是: 复制是内置的,还是附加组件/插件? 复制如何工作(高级)? MySQL 提供基于语句的复制(以及 5.1 中的基于行的复制)。 我对其他数据库的比较感兴趣。 什么是通过电线运送的? 更改如何应用于副本? 是否容易检查主从之间的一致性? 让失败的副本与主服务器同步有多容易? 表现? 我讨厌 MySQL 复制的一件事是它是单线程的,并且副本通常难以跟上,因为 master 可以并行运行许多更新,但副本必须串行运行它们。 其他数据库中是否有类似的陷阱? 任何其他有趣的功能... 回答1 MySQL 的复制很弱,因为需要牺牲其他功能来获得完整的主/主支持(由于受支持的后端的限制)。 PostgreSQL 的复制很弱,因为只支持内置的主/备用(使用日志传送); 更强大的解决方案(例如 Slony 或 Londist)需要附加功能。 归档日志段通过网络传输,这些记录用于确保独立数据库在不干净的启动时处于工作、一致的状态。 这是我目前正在使用的,我们已经完全自动化了重新同步(以及设置和其他功能)。 这些方法都不是完全同步的。 自 PostgreSQL 8.5 起将内置更完整的支持。 日志传送不允许数据库不同步,因此不需要进程来测试同步状态;

2022-05-04 17:22:04    分类:技术分享    mysql   sql-server   database   postgresql   replication

MS-SQL Server 2005: Initializing a merge subscription with alternate snapshot location

问题 一年前我们开始了一些海外合并复制,到目前为止一切都很好。 我的问题是,我们的系统中现在有如此多的数据,以至于订阅者的服务器上的任何崩溃都将是一场灾难:以标准方式重新初始化订阅将需要几天时间(我们的连接肯定很慢,但已经非常非常昂贵)! 我一直在跟进的想法如下: 制作原始数据库的副本,冻结它,通过飞机将文件发送给订阅者,然后在没有快照的情况下启动复制:这是传统上使用旧版本 SQL 完成的事情,但对我来说听起来有点混乱:我将不得不将我的发布者的数据置于只读模式并停止所有复制,直到操作完成。 制作数据快照,将快照文件发送到国外,将它们安装在订阅服务器上,并在复制属性中将新快照位置指示为备用位置。 这对我来说听起来很公平(没有必要暂停正在进行的复制,没有数据冻结),但是,在这一点上,微软的帮助没有......帮助。 我相信你们中的一些人已经经历过这样的情况。 你的选择是什么? 编辑:当然,可以说“你为什么不尝试一下你的想法”,但这需要几个小时(sql-servers、虚拟机和所有这些东西的多个实例......),而我以为做这件事的人只需要 2 分钟就可以解释他的想法。 如果有人愿意腾出 2 分钟的时间来为我节省数小时的辛勤工作,我将是最幸福的人…… 回答1 在将数据从加利福尼亚州洛杉矶复制到中国时,我不得不做类似的事情。 使用正常方法加载快照需要 44 天。 我所做的是将 SQL

2022-05-04 05:56:07    分类:技术分享    sql-server   synchronization   replication   snapshot

Replication lag - exceeding max_slot_wal_keep_size, WAL segments not removed

Summary We are using max_slot_wal_keep_size from Postgresql 13 to prevent master from being killed by a lagging replication. It seems, that in our case, WAL storage wasn't freed up after exceeding this parameter which resulted in a replication failure. WAL which, as I believe, should have been freed up did not seem to be needed by any other transaction at a time. I wonder how this should work and why WAL segments were not removed? Please find the details below. Configuration master & one replica - streaming replication using a slot ~700GB available for pg_wal max_slot_wal_keep_size = 600GB min

2022-05-02 16:18:42    分类:问答    postgresql   replication   wal   postgresql-13