Облачная платформаAdvanced

Переключение между горячим и холодным хранилищем для кластера OpenSearch

Эта статья полезна?
Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

В кластере OpenSearch переключение между горячим и холодным хранением данных означает распределение данных по узлам с разными уровнями производительности на основе температуры данных (то есть того, как часто к данным обращаются). Цель состоит в достижении оптимальных затрат на хранение и производительности запросов.

  • Горячие данные: часто запрашиваемые данные, требуется низкая задержка, хранятся с использованием высокопроизводительного оборудования (например SSD), чтобы обеспечить быструю запись и производительность запросов.
  • Холодные данные: редко запрашиваемые данные, хранилище, оптимизированное по стоимости (например HDD).

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

Как работает функция

Рисунок 1 Как работает переключение холодного/горячего хранилища


Ключ заключается в распределении хранилища данных индекса по меткам узлов и политикам распределения индексов.

  • Метки узлов:
    • Узел данных (hot): Stores real-time data by default and supports high-concurrency read/write requests.
    • Узел холодных данных (cold): Stores historical data. Cold data nodes use less expensive hardware and deliver lower query performance than data nodes.
  • Распределение данных:

    Вы можете настроить шаблон индекса или напрямую настроить конкретные индексы для распределения данных между узлами данных и узлами холодных данных.

Процедура: включите узлы холодных данных при создании кластера и настройте шаблон индекса или параметры конкретного индекса для распределения хранилища данных индекса. Кластер автоматически распределяет данные в соответствии с вашими настройками.

Ограничения

  • Вы не можете добавить узлы холодных данных в существующие кластеры, в которых такие узлы не были включены при создании кластера.
  • По сравнению с узлами данных, узлы холодных данных обеспечивают более низкую производительность запросов. Определите, какой тип узла использовать, исходя из потребностей сервиса.

Переключение между горячим и холодным хранилищем

  1. Проверьте, включены ли узлы холодных данных в целевом кластере.

    1. Войдите в консоль управления CSS.
    2. В навигационной панели слева выберите Clusters > OpenSearch.
    3. В списке кластеров щёлкните название целевого кластера. Отображается страница информации о кластере.
    4. На Обзор вкладке проверьте, Информация о узле раздел содержит информацию о холодных узлах данных.

      Рисунок 2 Информация о холодных узлах данных


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

  2. Войдите в OpenSearch Дашборд.

    1. На странице информации о кластере щёлкните Дашборд в правом верхнем углу для входа в OpenSearch Dashboards.
    2. В левой навигационной панели выберите Dev Tools.

      Левая часть консоли — это поле ввода команды, а треугольный значок в её правом верхнем углу является кнопкой выполнения. Правая часть показывает результат выполнения.

  3. В OpenSearch Dashboards настройте политики распределения индексов.

    Вы можете настроить шаблон индекса или напрямую настроить конкретные индексы для распределения данных на узлы данных или холодные узлы данных.

    • Настройка шаблона индекса

      Настройте шаблон индекса для распределения индексов на холодные или горячие узлы данных. Например, выполните следующую команду, чтобы установить шаблон для хранения индексов, начинающихся с myindex на холодные узлы данных:

      PUT _template/test
      {
      "order": 1,
      "index_patterns": "myindex*",
      "settings": {
      "refresh_interval": "30s",
      "number_of_shards": "3",
      "number_of_replicas": "0",
      "routing.allocation.require.box_type": "cold"
      }
      }

      Описание параметра:

      • index_patterns: правило для сопоставления имен индексов (например, myindex*).
      • box_type: тип узла для сопоставления индексов. холодный указывает на холодные узлы данных, и горячий указывает на обычные узлы данных.

    • Настройка конкретных индексов

      Чтобы изменить тип узла для существующего индекса, выполните следующую команду:

      PUT myindex/_settings
      {
      "index.routing.allocation.require.box_type": "cold"
      }

      Описание параметра:

      • myindex: имя индекса.
      • box_type: тип узла для сопоставления индексов. холодный указывает на холодные узлы данных, и горячий указывает на обычные узлы данных.

  4. Проверьте переключение между горячим и холодным хранилищем.

    Выполните следующую команду, чтобы проверить распределение шардов индекса:

    GET _cat/shards/myindex?v

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

    Как показано на следующем рисунке, все шарды myindex индекс хранится на узле холодных данных css-e668-ess-cold-esn-1-1.

    index shard prirep state docs store ip node
    myindex 1 p STARTED 14085446 17.8gb 192.168.91.188 css-e668-ess-cold-esn-1-1
    myindex 2 p STARTED 14094005 17.9gb 192.168.91.188 css-e668-ess-cold-esn-1-1
    myindex 0 p STARTED 14094742 17.8gb 192.168.91.188 css-e668-ess-cold-esn-1-1

  5. Откатить конфигурацию переключения холод‑горячий.

    Чтобы отменить конфигурацию переключения холод‑горячий, выполните следующую команду:

    PUT myindex/_settings
    {
    "index.routing.allocation.require.box_type": null
    }

    После отката данные индекса будут равномерно и случайно распределены как по узлам холодных данных, так и по узлам данных.

Связанные операции