ES к ящику передачи данных
Я хочу перенести данные из ES (1.0.0) в Crate (в настоящее время доступна версия 0.26.0), чтобы проверить это, как я могу это сделать? Что мне делать с индексами, подходит ли индекс ES для Crate?
Можно подумать о нескольких потоках:
- Плавный переход, например, когда я делаю гибридный кластер с узлами ES + Crate, с репликой как минимум один, а затем убиваю узлы ES один за другим.
- Мы выполняем резервное копирование с помощью плагина "asticsearch-cloud-aws ". Можно ли" восстановить "эти снимки, но есть узлы Crate вместо собственных узлов ES?
Любые другие варианты для передачи большого куска данных, скажем, 1 ТБ?
Благодарю.
1 ответ
Crate использует ES 1.0.1 начиная с 0.24.0, поэтому индексы люцена совместимы.
Это означает, что описанный вами поток "плавного перехода" должен работать. (Но я на самом деле не пробовал это).
Но до тех пор, пока в кластере есть узлы без ящика, запросы SQL на ящике не будут работать, потому что обычные узлы ES не знают, как обрабатывать запросы.
Еще некоторые вещи, о которых вы, вероятно, должны знать, так как это может вызвать проблемы:
Crate представил явные типы массивов с 0.25.0. Это означает, что если вы создаете новую таблицу с create table test (id integer ...)
поле id будет использовать новый формат поля doc_values, который был добавлен в lucene некоторое время назад. Если вы хотите использовать массивы, вы должны создавать таблицы с использованием SQL (с такими определениями типов, как array(integer)
).
Если вы попытаетесь запросить данные, которые были вставлены с использованием эластичного поиска, вы можете получить странные результаты или даже столкнуться с ошибками, если поля содержат массивы, но в них отсутствует объявление в определении схемы.
Надеюсь это немного поможет. К сожалению, я не могу дать вам ответ относительно плагина asticsearch-cloud-aws, но, возможно, кто-то еще может.