По timestamp. Был общий конфиг (erb темплейт) куда подставлял нужные числа. Делил день на N частей. И на каждый индекс/логстеш генерировал свой конфиг. Запускал через SSHKit.
Понятное дело, что в этих таймфреймах разное количество документов, И общая производительность плавала, но мне это было не критично(я мог потратить на реиндексацию больше времени). Было бы критично, сделал бы селект по количеству документов в индексе, и распределил бы их равномерно по всем логстешам.
Хорошая статья. Месяц назад тоже мигрировали с 1.7 на 5.3 (~90 млрд документов) и это было нетривиально.
Официальная документация по миграции все же есть: reinrex-from-remote. Эта процедура показывает очень хорошую производительность. Но есть проблема… Проблема в том, что при ошибках реиндексации(в моем случае конфликтах в типах) невозможно скипнуть документ (опция "conflicts": "proceed" не работает).
Поэтому я так же использовал logstash, правда производительность его оказалась не высока(около 5000док./сек). Я разбил daily индекс на N частей, и каждую часть реиндексировал отдельным экземпляром логстеша. Таким образом удалось достаточно быстро мигрировать документы.
Просто запускаю контейнер. Детали ошибки тут: https://github.com/TelegramMessenger/MTProxy/issues/7
ну и сам темплейт для индеков:
Да, кстати. Сейчас посмотрел в темплейт. Там еще для каждого экземпляра timeframe делится на N input по количеству свободных ядер
По timestamp. Был общий конфиг (erb темплейт) куда подставлял нужные числа. Делил день на N частей. И на каждый индекс/логстеш генерировал свой конфиг. Запускал через SSHKit.
Понятное дело, что в этих таймфреймах разное количество документов, И общая производительность плавала, но мне это было не критично(я мог потратить на реиндексацию больше времени). Было бы критично, сделал бы селект по количеству документов в индексе, и распределил бы их равномерно по всем логстешам.
Хорошая статья. Месяц назад тоже мигрировали с 1.7 на 5.3 (~90 млрд документов) и это было нетривиально.
Официальная документация по миграции все же есть: reinrex-from-remote. Эта процедура показывает очень хорошую производительность. Но есть проблема… Проблема в том, что при ошибках реиндексации(в моем случае конфликтах в типах) невозможно скипнуть документ (опция "conflicts": "proceed" не работает).
Поэтому я так же использовал logstash, правда производительность его оказалась не высока(около 5000док./сек). Я разбил daily индекс на N частей, и каждую часть реиндексировал отдельным экземпляром логстеша. Таким образом удалось достаточно быстро мигрировать документы.
Выглядит ужасно… Почему нельзя использовать ServiceIP?