Как настроить структуру для резервного копирования данных эластичного поиска в Google Compute Engine?

У меня есть среда эластичного поиска, настроенная на GCE (Google Compute Engine) с двумя узлами, поэтому мне нужно две виртуальные машины, чтобы создать для этого стратегию резервного копирования. Сначала я подумал, что мог бы использовать API-интерфейс моментальных снимков asticsearch для резервного копирования всех моих данных в заданное хранилище, поскольку API-интерфейс поддерживает несколько способов хранения моментальных снимков.

  • Общая файловая система, такая как NAS
  • Amazon S3
  • HDFS (распределенная файловая система Hadoop)
  • Лазурное Облако

Я попытался использовать параметр общей файловой системы, но он требует, чтобы местоположение хранилища было общим для узлов. Есть ли способ сделать это на GCE?

curl -XPUT http://x.x.x.x:9200/_snapshot/backup -d '{
    "type": "fs",
    "settings": {
        "compress" : true,
        "location": "/elasticsearch/backup"
    }

}"

nested: RepositoryVerificationException[[backup] store location [/elasticsearch/backup] is not shared between node

Я знаю, что есть плагин AWS для эластичного поиска для хранения резервных копий. Есть ли плагин для Google Cloud Storage? Возможно ли это сделать?

Если какая-либо из перечисленных выше альтернатив невозможна, существует ли какая-либо другая рекомендуемая стратегия для резервного копирования моих данных?

3 ответа

Решение

Elasticsearch теперь имеет плагин для Google Cloud Storage, так что он изначально поддерживается.

Возможно, вы сможете использовать плагин S3 с облачным хранилищем Google для обеспечения совместимости. Смотрите эту страницу для более подробной информации.

Кроме того, вы можете просто создать нормальную резервную копию в файловой системе, а затем загрузить ее в облачное хранилище с помощью gsutil.

У меня такая же проблема с моим кластером ES (5 узлов) в Google Cloud. Мы не можем использовать локальные резервные копии на реальном диске, как упоминал Джон, так как не каждый узел имеет все данные в моем случае.

Мне кажется, что единственный способ - это создать маленькую машину с большим диском и смонтировать этот диск как общий диск на всех 5 узлах ES, которые находятся у меня по одному пути, чтобы мы могли использовать опцию "Общая файловая система".

Другие вопросы по тегам