Добрый день.
Мы используем elasticsearch для полнотекстового поиска. При этом основным хранилищем для данных является MS SQL. Так повелось, что в проект используется MS стек, поэтому и база MS SQL. ES используем уже больше года, и он дал нам всё, что требовалось и даже больше, чем ожидалось - это очень крутой продукт. В настоящий момент у нас используется ES на одной виртуальной машине, 1 нода, виртуалка на MS SERVER 2016. Мы использовали Ms Azure для размещения наших ресурсов (хранилища, сайт, виртуальные машины), но теперь переезжаем из облака по экономическим причинам. Встал вопрос, как лучше всего выполнить переезд ES. Есть идея, сделать кластер на двух серверах: текущий и новый. Чтобы данные все синхронизировались и после этого старый (тот что сейчас текущий) отключить, таким образом новый сервер останется единственным. После этого планируется уже в любом случае сделать кластер на нескольких серверах для повышения устойчивости и производительности, но сейчас вопрос про перенос данных на новую машину. Как лучше всего это реализовать?
И также вопрос про обновление версии, сейчас мы используем ES 6.3.1, а вышел уже 7.5. Имеет ли смысл обновиться и потребует ли это каких-то изменений в части интеграции с ES для записи данных и чтения (насколько в этих версиях реализована обратная совместимость). Мы записываем данные в ES, не используя какие-то доп. средства, например, Logstash, а просто пишем через REST API с помощью воркера, которые берет данные в MS SQL и записывает их в ES.
Также хотелось бы уточнить есть ли разница в производительности относительно операционной системы сервера, на котором будет работать ES, если это будет MS SERVER или линукс? И правильно ли понимаю, что в кластере у нод могут быть любые операционные системы?