0

試圖將AWS-Elasticache Redis3.2作爲Master並將EC2中的redis實例作爲此elasticache的slaveof。我得到這個錯誤。elasticache -ERR未知命令'PSYNC

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' 

....

回答

1

ElastiCache是​​Redis的-作爲一種服務從AWS。因此,它的操作員可以自由地禁用某些命令/功能 - 複製到外部實例的能力是這些禁用的功能之一,這就是您遇到的錯誤的原因。

+0

好的謝謝Itamar,我在想這些問題,但是找不到任何AWS提到的文檔。 –

0

正如Itamar所述,Amazon ElastiCache是​​一項託管服務。當使用ElastiCache Redis引擎(它也有memcached選項)時,該接口是100%開源Redis,但Amazon已對底層代碼進行了一些更改以針對雲進行優化。

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等。