Tatsächlich ist die vom Master erzeugte Datei an SYNC time ist eine normale Snapshot-Datei (dh rdb-Datei), die am selben Ort geschrieben wird wie jede andere rdb-Datei.
Dieser Speicherort wird in der Redis-Konfigurationsdatei der Master-Instanz festgelegt - siehe Parameter dir und dbfilename.
Zum Beispiel zu erzeugen Deponien in /data/redis/dump.rdb
# The filename where to dump the DB
dbfilename dump.rdb
# The working directory.
#
# The DB will be written inside this directory, with the filename specified
# above using the 'dbfilename' configuration directive.
#
# Also the Append Only File will be created inside this directory.
#
# Note that you must specify a directory here, not a file name.
dir /data/redis
Natürlich wird der Benutzer Redis für richtige Zugriffsrechte ins Leben gerufen muß auf dieser Seite hat.
Jetzt, auf der Slave-Seite, wird die vom Master gelesene Dump-Datei in eine temporäre Datei kopiert, deren Name etwa temp-% d.% Ld.rdb ist (einschließlich Zeitstempel und PID). Die Datei wird im Arbeitsverzeichnis erstellt, die dem Parameter dir in der Konfiguration der Slave-Instanz entspricht. Auch wenn RDB nicht auf der Slave-Seite aktiv ist, muss der Parameter dir korrekt eingestellt sein und auf ein Verzeichnis mit geeigneten Zugriffsrechten zeigen.
Ich weiß, es ist eine alte Nachricht, aber für mich war das Problem in der sentinel.conf, wo der temporäre Verzeichnispfad definiert wurde (redis-3.0.1) – mcorbe