Подтвердить что ты не робот

Сбросить все документы Elasticsearch

Есть ли способ создать файл дампа, содержащий все данные индекса среди его настроек и сопоставлений?

A Подобным образом, как mongoDB делает с mongodump
или как в Solr папка с данными скопирована в резервную папку.

Ура!

4b9b3361

Ответ 2

Вот новый инструмент, над которым мы работали именно для этой цели https://github.com/taskrabbit/elasticsearch-dump. Вы можете экспортировать индексы в/из файлов JSON или из одного кластера в другой.

Ответ 3

ElasticSearch предоставляет способ создания и восстановления данных. Простая команда для этого:

CURL -XPUT 'localhost:9200/_snapshot/<backup_folder name>/<backupname>' -d '{
    "indices": "<index_name>",
    "ignore_unavailable": true,
    "include_global_state": false
}'

Теперь, как создать эту папку, как включить этот путь к папке в конфигурации ElasticSearch, чтобы он был доступен для ElasticSearch, метод восстановления хорошо объяснен . Чтобы увидеть его практическое демо-приложение здесь.

Ответ 4

Сами данные представляют собой один или несколько индексов lucene, так как вы можете иметь несколько осколков. То, что вам также нужно сделать для резервного копирования, - это состояние кластера, которое содержит всю информацию о кластере, доступные индексы, их сопоставления, осколки, из которых они состоят и т.д.

Все это в каталоге data, но вы можете просто скопировать его. Его структура довольно интуитивно понятна. Прямо перед копированием лучше отключить автоматический сброс (для резервного копирования последовательного представления индекса и предотвращения записи на нем при копировании файлов), выпустить ручную флеш, отключить выделение. Не забудьте скопировать каталог со всех узлов.

Кроме того, следующая основная версия elasticsearch собирается предоставить новый snapshot/restore api, который позволит вам выполнять инкрементные снимки и восстанавливать их также через api. Вот связанная с этим проблема github: https://github.com/elasticsearch/elasticsearch/issues/3826.