Рейтинг:0

Redis из образа докера redis: 6.2.5-alpine3.14 не может запуститься «Недопустимая сжатая строка LZF»

флаг us

После перезапуска контейнера докеров с помощью redis: 6.2.5-alpine3.14 он не может запуститься с ошибкой:

[смещение 55130] Внутренняя ошибка при чтении RDB со смещением 0, функция в rdb.c:411 -> Недопустимая сжатая строка LZF

Все в порядке после очистки хранилища Redis:

# ls -la /редис/
всего 68
drwxr-xr-x. 2 polkitd 1000 43 4 окт 19:22 .
дрв-р-----. 14 корень корень 179 8 сен 19:51 ..
-rw-r--r--. 1 polkitd 1000 63907 4 окт 19:13 dump.rdb
-rw-r--r--. 1 polkitd root 4096 4 окт 19:22 .dump.rdb.swp

Может ли кто-нибудь объяснить, что может быть причиной этой проблемы?

флаг cn
Почему у вас есть файл `dump.rdb.swp`? Редактируется ли `dump.rdb` с помощью `vi` или `vim`? Вы можете проверить это с помощью `sudo fuser dump.rdb`
флаг us
@MirceaVutcovici Да, я заметил этот файл, и это тоже очень подозрительно для меня. Нет, я не пытался открыть этот файл.
Рейтинг:1
флаг cn

Это означает, что база данных RDB повреждена. Вы должны остановить контейнер и восстановить файл из резервной копии. Если вы не можете восстановить его, вы можете переименовать/переместить его, чтобы иметь поврежденную резервную копию на случай, если вы хотите восстановить ее частично, а затем запустите контейнер Redis.

Если это происходит часто, проверьте, АОФ (Добавить только файл) лучше для вас. Вы можете иметь и RDB, и AOF одновременно. Подробнее читайте также Постоянство Redis демистифицировано.

Чтобы проверить согласованность файлов RDB, вы можете использовать:

redis-check-dump dump.rdb

Видеть 4.3.1 Проверка моментальных снимков и файлов только для добавления Больше подробностей.

Если вы используете кластер, вы можете восстановить один из узлов с:

rladmin recovery list # Чтобы увидеть список всех файлов, которые нужно восстановить

rladmin восстановить все
rladmin recovery db <database_id|name> # Для восстановления только одной БД
recovery db only_configuration <db_name> # Чтобы восстановить только конфигурацию БД

rladmin status # Чтобы проверить, какие БД были восстановлены

Также в кластере можно восстановить БД с:

восстановление кластера rladmin....

Видеть: восстановление кластера документация

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.