labs - redis vs mongodb
Redis está configurado para guardar instantáneas RDB, pero actualmente no puede persistir en el disco (5)
Me sale el siguiente error, cada vez que ejecuto algún comando que modifique los datos en redis
Redis is configured to save RDB snapshots, but is currently not able to persist on disk.
Commands that may modify the data set are disabled.
Please check Redis logs for details about the error.
Instalé redis usando brew en mac. ¿Cómo puedo obtener la ubicación de los archivos de registro donde redis-server registra la información? Intenté buscar Redis Conf. archivo, pero tampoco pudo encontrarlo.
Cuál es la ubicación predeterminada de [1] archivo redis conf [2] archivo de registro redis.
¿Cómo puedo deshacerme del error anterior y ser capaz de ejecutar comandos que modifican datos en redis?
Al instalar con brew, el archivo de registro está establecido en stdout. Necesita editar /usr/local/etc/redis.conf
y cambiar el archivo de registro a otra cosa. Puse el mío a:
logfile /var/log/redis-server.log
También se asegurará de que el usuario que ejecuta redis tenga permisos de escritura para el archivo de registro, o redis simplemente no podrá iniciarse por completo. Luego solo reinicie redis:
brew services restart redis
Después de reiniciar, tardará un poco para que aparezca el error en los registros, porque ocurre después de que redis falla sus descargas temporizadas. Deberías ver algo como:
[7051] 29 Dec 02:37:47.164 # Background saving error
[7051] 29 Dec 02:37:53.009 * 10 changes in 300 seconds. Saving...
[7051] 29 Dec 02:37:53.010 * Background saving started by pid 7274
[7274] 29 Dec 02:37:53.010 # Failed opening .rdb for saving: Permission denied
Después de una instalación de brew, intenta guardar en /usr/local/var/db/redis/
y dado que redis probablemente se está ejecutando como su usuario actual y no como root, no puede escribir en él. Una vez que redis tenga permiso para escribir en el directorio, su archivo de registro dirá:
[7051] 29 Dec 03:08:59.098 * 1 changes in 900 seconds. Saving...
[7051] 29 Dec 03:08:59.098 * Background saving started by pid 8833
[8833] 29 Dec 03:08:59.099 * DB saved on disk
[7051] 29 Dec 03:08:59.200 * Background saving terminated with success
y el stop-writes-on-bgsave-error
ya no se generará.
Así que supongo que es un poco tarde para agregar una respuesta aquí, pero ya que me pregunté sobre su pregunta, ya que tenía el mismo error. Lo solucioné cambiando la variable dir de mi redis.conf así:
# 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.
#
# The Append Only File will also be created inside this directory.
#
# Note that you must specify a directory here, not a file name.
dir /root/path/to/dir/with/write/access/
El valor predeterminado es: ./ , por lo que, dependiendo de cómo ejecute su servidor redis, es posible que no pueda guardar instantáneas.
Espero que ayude a alguien!
Compruebe los siguientes lugares:
/usr/local/Cellar/redis...
/usr/local/var/log/redis.log
/usr/local/etc/redis.conf
Este error a menudo indica un problema con los permisos de escritura, asegúrese de que su directorio RDB sea escribible.
En mi caso, resolví este problema con los siguientes pasos
Causa: de forma predeterminada redistribuye los datos de la tienda @ ./ y si redis se ejecuta con el usuario redis, esto significa que redis no podrá escribir datos en el archivo ./ y se encontrará con el error anterior.
Resolución: Paso # 1 (Ingrese una ubicación válida donde redis puede hacer operaciones de escritura) root @ fpe: / var / lib / redis # vim /etc/redis/redis.conf
dir / var / lib / redis # (Esta ubicación debe tener derecho para que el usuario redis escriba)
Paso # 2 (Conectar a redis cli y al directorio del mapa para escribir y emitir la variable debajo)
127.0.0.1:6379> CONFIG SET SET dir "/ var / lib / redis"
127.0.0.1:6379> BGSAVE -
Esto permitirá que redis escriba datos en el archivo de volcado.
Por lo general, se debe a los límites de permiso. En mi caso, es redis las opciones de escritura deshabilitadas.
Puede intentar ejecutar redis-cli
en el shell y luego ejecutar el siguiente comando:
set stop-writes-on-bgsave-error yes