标签: replication

Zookeeper/Chubby -vs- MySql NDB

我最近一直在阅读Paxos论文,FLP定理等,并为一个项目评估Apache Zookeeper.我也一直在通过Chubby(谷歌的分布式锁定服务)以及可在线获得的各种文献.我对Zookeeper的基本用法是为分布式系统实现复制和一般协调.

我只是想知道,Zookeeper或像分布式锁定系统这样的Chubby带来的具体优势是什么.基本上我只是想知道为什么我不能只使用MySQL NDB集群.我一直听说MySQL有很多复制问题.我希望有一些关于这个主题的更多经验可能会对它有所了解.

提前致谢..

简单列出我的要求:

  • 我有一个同质的分布式系统.
  • 我需要一些方法来保持所有节点的一致状态.
  • 我的系统公开了一项服务,与客户的交互将导致我的系统集体状态发生一些变化.
  • 高可用性是一个目标,因此关闭的节点不得影响服务.
  • 我希望系统至少服务1000 req/sec.
  • 我希望系统的集体状态大小有限(基本上插入/删除将是暂时的......但在稳定状态下,我期望大量的更新和读取)

java mysql replication database-replication apache-zookeeper

15
推荐指数
2
解决办法
6478
查看次数

"设置时间戳"如何成为慢速查询?

我的慢查询日志中包含如下条目:

# Query_time: 1.016361  Lock_time: 0.000000 Rows_sent: 0  Rows_examined: 0
SET timestamp=1273826821;
COMMIT;
Run Code Online (Sandbox Code Playgroud)

我猜这个set timestamp命令是通过复制发出的,但我不明白如何set timestamp才能接管一秒钟.有关如何解决此问题的任何想法?

mysql performance replication

15
推荐指数
2
解决办法
2万
查看次数

Solr索引 - 主/从复制,如何处理巨大的索引和高流量?

我目前正面临SOLR的问题(更确切地说是奴隶复制),在花了很多时间在网上阅读后,我发现自己不得不要求一些启示.

- Solr的索引规模是否有一些限制?

在处理单个主服务器时,何时决定使用多核或多索引?是否有任何迹象表明何时达到一定的索引大小,建议进行分区?

- 从主站到从站复制段时是否有最大大小?

复制时,当从属设备无法下载内容并将其编入索引时,是否存在段大小限制?当有大量流量要检索信息和要复制的大量新文档时,奴隶无法复制的阈值是多少.

更事实的是,这里是导致我提出这些问题的背景:我们想要索引相当数量的文档,但是当数量达到十几万时,奴隶就无法处理它并开始无法复制SnapPull错误.文档由几个文本字段组成(名称,类型,描述,...大约10个其他字段,最多20个字符).

我们有一个主服务器和两个从主服务器复制数据的从服务器.

这是我第一次使用Solr(我通常在使用spring,hibernate的webapps上工作......但没有使用Solr),所以我不确定如何解决这个问题.

我们的想法是暂时向主服务器添加多个核心,并从每个核心复制一个从服务器.这是正确的方法吗?

如果是,我们如何确定所需的核心数量?现在我们只是试着看看它的行为和调整,如果有必要,但我想知道是否有任何最佳实践或某些基准已经针对这个特定主题.

对于具有此平均大小的此数量的文档,需要x核心或索引...

感谢您对我如何处理大量平均大小的文档的任何帮助!

这是从属设备尝试复制时抛出的错误的副本:

ERROR [org.apache.solr.handler.ReplicationHandler] - <SnapPull failed >
org.apache.solr.common.SolrException: Index fetch failed :
        at org.apache.solr.handler.SnapPuller.fetchLatestIndex(SnapPuller.java:329)
        at org.apache.solr.handler.ReplicationHandler.doFetch(ReplicationHandler.java:264)
        at org.apache.solr.handler.SnapPuller$1.run(SnapPuller.java:159)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:280)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:135)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:65)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:142)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:166)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.RuntimeException: java.io.IOException: read past EOF
        at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1068)
        at org.apache.solr.update.DirectUpdateHandler2.commit(DirectUpdateHandler2.java:418)
        at org.apache.solr.handler.SnapPuller.doCommit(SnapPuller.java:467)
        at org.apache.solr.handler.SnapPuller.fetchLatestIndex(SnapPuller.java:319)
        ... 11 more
Caused by: java.io.IOException: read past EOF …
Run Code Online (Sandbox Code Playgroud)

replication solr

15
推荐指数
1
解决办法
1万
查看次数

如何使用Entity Framework实现读/写分离

我有一个使用'主/从复制'的数据库设置.我有一个主人和(至少)一个奴隶,可能是ℕ奴隶.为简单起见,我将讨论一个主设备,一个从设备,因为确定使用哪个从设备包括一些与手头实际问题无关的业务逻辑.

这是设置的示意图(带有ℕ奴隶):

概观

在应用程序(目前使用Dapper)中,我有以下简化的代码:

abstract class BaseRepo
{
    private readonly string _readconn;
    private readonly string _writeconn;

    public BaseRepo(string readConnection, string writeConnection)
    {
        _readconn = readConnection;     //Actually IEnumerable<string> for ? slaves
        _writeconn = writeConnection;
    }

    private SqlConnection GetOpenConnection(string cnstring)
    {
        var c = new SqlConnection(cnstring);
        c.Open();
        return c;
    }

    public SqlConnection GetOpenReadConnection()
    {
        return this.GetOpenConnection(_readconn);
        // Actually we use some business-logic to determine *which* of the slaves to use
    }

    public SqlConnection GetOpenWriteConnection()
    {
        return this.GetOpenConnection(_writeconn); …
Run Code Online (Sandbox Code Playgroud)

c# sql-server replication entity-framework

15
推荐指数
1
解决办法
3350
查看次数

删除复制relay-bin文件是否安全?

我有一个小型数据库,大约50mb.它是一个复制到远程服务器的主人.我注意到relay-bin文件总数超过5GB.删除它们是否安全?

mysql replication

14
推荐指数
3
解决办法
4万
查看次数

mysql复制 - 一个数据库上的从属服务器

我无法找到问题的答案.

我有2个mysql服务器.

  1. 主服务器
  2. 奴隶服务器

现在我想添加另一个Slave服务器,但我在该服务器上运行其他网站.

我可以复制一个数据库吗?

mysql replication master slave

14
推荐指数
1
解决办法
3万
查看次数

mysql - 锁是否通过复制传播?

我有MyISAM表的Mysql主从复制.所有更新都在主站上完成,选择在主站或从站上完成.

看来我们在进行某些更新时可能需要手动锁定几个表.虽然此写锁定在表上,但锁定表上不会发生任何选择.但奴隶呢?锁是否会传播出来?

假设我有table_A和table_B.我在主服务器上的table_A和table_B上启动锁定并开始执行更新.此时没有其他连接可以读取主机上的table_A和table_B吗?但是,如果此时另一个连接试图从一个奴隶读取表格,他们可以这样做吗?

mysql replication myisam locks

14
推荐指数
1
解决办法
448
查看次数

在R中有效地复制矩阵

我有一个矩阵,并寻找一种有效的方法来复制它n次(其中n是数据集中观察的数量).例如,如果我有一个矩阵A.

A <- matrix(1:15, nrow=3)

然后我想要一个表格的输出

rbind(A, A, A, ...) #n times.

显然,有许多方法来构造这样的大矩阵,例如使用for循环apply或类似的函数.然而,对"矩阵复制 - 函数"的调用发生在我的优化算法的核心,在我的程序的一次运行中它被称为数万次.因此,循环,应用类型的函数和类似的东西都不够有效.(这样的解决方案基本上意味着n上的循环执行了数万次,这显然是低效的.)我已经尝试使用普通rep函数,但还没有找到一种方法来排列rep矩阵的输出所需格式.

该解决方案 do.call("rbind", replicate(n, A, simplify=F)) 效率太低,因为rbind在这种情况下经常使用.(然后,我的程序总运行时间的大约30%用于执行rbinds.)

有谁知道更好的解决方案?

replication r matrix

14
推荐指数
2
解决办法
1万
查看次数

如何修复无法跟上Master的PostgreSQL 9.3 Slave?

我们有一个主从复制配置如下.

在主人:

postgresql.conf 复制配置如下(为简洁起见,注释行):

max_wal_senders = 1            
wal_keep_segments = 8          
Run Code Online (Sandbox Code Playgroud)

在奴隶上:

postgresql.conf主人相同.recovery.conf看起来像这样:

standby_mode = 'on'
primary_conninfo = 'host=master1 port=5432 user=replication password=replication'
trigger_file = '/tmp/postgresql.trigger.5432'
Run Code Online (Sandbox Code Playgroud)

在最初设置时,我们执行了一些简单的测试并确认复制正常.但是,当我们进行初始数据加载时,只有一些数据进入了从属.

Slave的日志现在填充了如下所示的消息:

< 2015-01-23 23:59:47.241 EST >LOG:  started streaming WAL from primary at F/52000000 on timeline 1
< 2015-01-23 23:59:47.241 EST >FATAL:  could not receive data from WAL stream: ERROR:  requested WAL segment 000000010000000F00000052 has already been removed

< 2015-01-23 23:59:52.259 EST >LOG:  started streaming WAL from primary at F/52000000 on timeline …
Run Code Online (Sandbox Code Playgroud)

postgresql replication redhat

14
推荐指数
1
解决办法
3万
查看次数

删除kubernetes节点中的所有内容

如何从kubernetes节点删除所有内容?
内容包括部署,副本集等.我试图单独删除deplyoments.但kubrenetes再次重现了所有豆荚.
有没有办法删除节点中存在的所有副本集?

replication containers kubernetes

14
推荐指数
2
解决办法
9248
查看次数