弹性帽-ERR未知命令' PSYNC

时间:2016-11-21 10:33:21

标签: amazon-web-services redis amazon-elasticache servicestack.redis

尝试将AWS-Elasticache Redis3.2作为Master,将我的EC2中的redis实例作为此弹性缓存的slaveof。我收到了这个错误。

 Connecting to MASTER masterredis.XXXXXXXXXXXXXXXXXXX.amazonaws.com:6379
MASTER <-> SLAVE sync started
Non blocking connect for SYNC fired the event.
Master replied to PING, replication can continue...
Partial resynchronization not possible (no cached master)
Master does not support PSYNC or is in error state (reply: -ERR unknown command 'PSYNC')
Retrying with SYNC...
MASTER aborted replication with an error: ERR unknown command 'SYNC'

...

2 个答案:

答案 0 :(得分:1)

ElastiCache是​​AWS的Redis-as-a-Service。因此,其操作员可以自由禁用某些命令/功能 - 复制到外部实例的能力是这些禁用功能之一,这是PSYNC / SYNC的原因你得到的错误。

答案 1 :(得分:0)

如Itamar所述,Amazon ElastiCache是​​一项托管服务。当使用ElastiCache Redis引擎(它还有一个memcached选项)时,该界面是100%开源的Redis,但亚马逊已对底层代码进行了一些更改以优化云。

ElastiCache中的复制使用主节点和副本节点。这些与Redis Sentinel使用的主人和奴隶相似但不完全相同。由于ElastiCache始终在AWS EC2上运行,因此它可以使用直接内存传输来使复制更快,并且故障转移比需要支持大量可能的基础架构堆栈的OSS分发更顺畅。但是,您不能将Sentinel节点与同一群集中的ElastiCache节点混合使用。

(顺便说一句,我是AWS的托管数据库团队的一员,所以如果您想了解更多详细信息,请随时与我们联系,或者通过电子邮件发送stackoverflow:amazon dot com上的briskman)。

有关文档,请参阅http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Replication.html

我们没有明确声明不支持SYNC / PSYNC ...但您可以在http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/Welcome.html在线找到ElastiCache API参考。它包含有关API调用的详细信息,例如CreateReplicationGroup等。