Архивные хранилища

В данной главе описывается использование политик хранения файлов и каталогов, предназначенных для архивного хранения.

Введение

Архивные хранилища позволяют хранить данные на физических носителях с высокой плотностью хранения и низкими ресурсами обработки.

Для реализации архивного хранилища необходимо выполнить следующие действия:

  • Выключить DataNode;
  • Назначить тип хранилища ARCHIVE DataNodes, предназначенный для архивного хранения;
  • Установить политики хранения “HOT”, “WARM” или “COLD” в файлах и каталогах HDFS;
  • Перезапустить DataNode.

Для обновления параметра политики хранения в файле или каталоге, необходимо использовать инструмент переноса данных HDFS для перемещения блоков, как указано в новой политике хранения.

Типы хранилищ HDFS

Типы хранилищ HDFS могут использоваться для данных, предназначенных различным типам физических носителей.

Доступны следующие типы хранилищ:

  • DISK – дисковое хранилище (тип хранилища по умолчанию);
  • АРХИВ – архивные хранилища (высокая плотность хранения, низкие ресурсы обработки);
  • SSD – твердотельный накопитель;
  • RAM_DISK – память DataNode.

Если тип хранения не назначен, по умолчанию используется тип DISK.

Политики хранения: “Hot”, “Warm”, и “Cold”

Данные можно хранить на дисках типа DISK или ARCHIVE, используя следующие предварительно настроенные политики хранения:

  • HOT – используется как для хранения, так и для вычисления. Данные, которые используются для обработки, остаются в этой политике. Все копии хранятся на DISK. Для создания резервной копии памяти нет, и для их хранения используется ARCHIVE;
  • WARM – частично “HOT” и частично “COLD”. При “WARM” первая копия хранится на DISK, а остальные хранятся в ARCHIVE. Резервным хранилищем для создания и копирования является DISK или ARCHIVE, в случае если DISK недоступен;
  • COLD – используется только для хранения, с ограниченным расчетом. Данные, которые больше не используются или которые необходимо заархивировать, переносятся из хранилища “HOT” в “COLD”. При “COLD” все копии хранятся в ARCHIVE, и нет резервного хранилища для создания или копирования.

В таблице приведена политика копирования.

Табл. 34. Политика копирования
ID
политики
Название
политики
хранения
Место
размещения копии
(для n копий)
Резервное
хранилище
для разработки
Резервное
хранилище
для копий
12 HOT DISK: n <нет> ARCHIVE
8 WARM DISK: 1, ARCHIVE: n-1 DISK, ARCHIVE DISK, ARCHIVE
4 COLD ARCHIVE: n <нет> <нет>

Important

В настоящее время политики хранения нельзя редактировать

Настройка архивного хранилища

Для настройки архивного хранилища необходимо выполнить следующие действия:

1. Выключить DataNode

Закрыть DataNode с помощью соответствующих команд.

2. Назначить тип хранения ARCHIVE в DataNode

Для назначения типа хранения ARCHIVE для DataNode можно использовать свойство dfs.name.dir в файле /etc/hadoop/conf/hdfs-site.xml.

Свойство dfs.name.dir определяет, где в локальной файловой системе DataNode хранит свои блоки.

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

<property>
  <name>dfs.data.dir</name>
  <value>file:///grid/1/tmp/data_trunk</value>
</property>

Чтобы назначить DataNode как хранилище ARCHIVE, необходимо добавить [ARCHIVE] в начало пути локальной файловой системы. Например:

<property>
  <name>dfs.data.dir</name>
  <value>[ARCHIVE]file:///grid/1/tmp/data_trunk</value>
</property>

3. Установка и получение политики хранения

Необходимо установить политику хранения файла или каталога. Команда:

hdfs dfsadmin -setStoragePolicy <path> <policyName>

Аргументы:

  • <path> – путь к каталогу или файлу;
  • <policyName> – название политики хранения.

Пример:

hdfs dfsadmin -setStoragePolicy /cold1 COLD

Получение политики хранения файла или каталога осуществляется по команде:

hdfs dfsadmin -getStoragePolicy <path>

Аргументы:

  • <path> – путь к каталогу или файлу.

Пример:

hdfs dfsadmin -getStoragePolicy /cold1

4. Запуск DataNode

Запустить DataNode с помощью соответствующих команд.

5. Использовать “mover” для применения политик хранения

При обновлении параметра политики хранения в файле или каталоге, новая политика не применяется автоматически. Необходимо использовать инструмент переноса данных HDFS mover для фактического перемещения блоков (как указано в новой политике хранения).

Средство миграции данных mover сканирует выбранные файлы в HDFS и проверяет, соответствует ли размещение блоков политике хранения. Копии блоков, нарушающих политику хранения, он перемещает в соответствующий тип хранилища для выполнения требований политики.

Команда:

hdfs mover [-p <files/dirs> | -f <local file name>]

Аргументы:

  • -p <files/dirs> – список файлов / каталогов HDFS для переноса, разделенные пробелами;
  • -f <local file> – локальный файл, содержащий список файлов / каталогов HDFS для миграции.

Important

Если оба параметра -p и -f опущены, путь по умолчанию является корневым каталогом

Пример:

hdfs mover /cold1/testfile