На elasticsearch версии 2.4 были созданы снапшоты индексов. Добавлены в архив файлы из папки indices/name-index и meta-name-index.dat. Файл snap-snapshot-index-name.dat добавлен не был.
Возможно ли восстановить снапшот без файла snap-snapshot-index-name.dat? Или же отредактировать похожий файл у другого индекса, чтобы был годен для восстановления снапшота?
Вы правы. Я ошибся. В вашем примере структуры директории - интересует последний файл - snap-snapshot_name.dat (который идет после meta-snapshot_name.dat). Этот файл был удален, а все все остальное - нет. Возможно ли восстановление снапшота без этого файла?
P.S.
Сам снапшот тоже был удален из эластика командой: DELETE /_snapshot/my_backup/snapshot-name
Восстановить снапшот без этого файла напрямую нельзя. Но, теоретически, если очень нужно, то этот файл можно воссоздать, так как он, по сути, никакой особо ценной информации не содержит. Все что в нем содержится - это имя снапшота, список индексов, состояние снапшота и всякая статистика. Статистика для восстановления - не нужна, имя снапшота и индекса - вы знаете. Проблема только в воссоздании файла в нужном формате. Проще всего, наверное, будет сделать новый кластер из одного узла с версией 2.4, создать в этом кластере нужный индекс, сделать файловый снапшот с этим индексом с тем-же именем снапшота, и перенести этот файл в архив. Думаю, что это должно сгенерировать совместимый э.datэ файл.
Тут вот, что еще надо учесть. Вы знаете, почему этот файл не был добавлен? Это была ошибка пользователя или этого файла в репозитории не было. В 2.4 была такая проблема, что если в процессе удаления снапшота возникали какие-нибудь ошибки, то репозиторий мог остаться в таком состоянии, что snap-snapshot_name.dat отуствовал, когда как некоторые другие файлы все еще оставались. Если это ваша ситуация, то полное восстановление может не произойти, даже если вы восстановите snap-snapshot_name.dat, как я показал выше.
Вы знаете, почему этот файл не был добавлен?
Знаю. Это моя ошибка. Файл не был добавлен по невнимательности и заметил это позже.
Без этого файла в версии 2.4 - восстановить снапшот не получается. Я создал другой индекс, создал его снапшот (файл snap-snapshot_name.dat появился при создании снапшота) и попробовал восстановить на другом эластике с версией 2.4 без файла snap-snapshot_name.dat - не получилось. Если же добавить данный файл - восстановление происходит удачно.
Попробую проделать трюк с созданием индекса в другом кластере. По результату отпишусь.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.