Checkpoint Node

NameNode сохраняет свое пространство имен с помощью двух файлов: fsimage, который является последней контрольной точкой пространства имен, и журнал изменений (log) в пространстве имен с момента контрольной точки. Когда NameNode запускается, он объединяет fsimage и журнал изменений, чтобы обеспечить актуальное представление метаданных файловой системы. Затем NameNode перезаписывает fsimage с новым состоянием HDFS и начинает новый журнал изменений.

Checkpoint Node периодически создает контрольные точки пространства имен. Он загружает fsimage и изменения из активного NameNode, объединяет их локально и загружает новое изображение обратно в активный NameNode. Checkpoint Node обычно работает на компьютере, отличном от NameNode, поскольку их требования к памяти одиинаковы. Запуск Checkpoint Node осуществляется командой bin/hdfs namenode -checkpoint на указанном в конфигурационном файле узле.

Расположение Checkpoint Node (или Backup) и сопровождающего его веб-интерфейса настраивается с помощью переменных конфигурации dfs.namenode.backup.address и dfs.namenode.backup.http-address.

Запуск процесса контрольной точки на Checkpoint Node контролируется двумя параметрами конфигурации:

  • dfs.namenode.checkpoint.period – по умолчанию установлено значение на 1 час; определяет максимальную задержку между двумя последовательными контрольными точками;
  • dfs.namenode.checkpoint.txns – по умолчанию установлено значение на 1 миллион; определяет количество незарегистрированных транзакций на NameNode, которые будут вызывать срочную контрольную точку, даже если период ее не был достигнут.

Checkpoint Node хранит последнюю контрольную точку в каталоге, который структурирован таким же образом, как и каталог NameNode. Таким образом контрольное изображение всегда доступно для чтения из NameNode при необходимости.

Important

В файле конфигурации кластера можно указать несколько Checkpoint Node

Пример использования:

hdfs namenode [-backup] |
      [-checkpoint] |
      [-format [-clusterid cid ] [-force] [-nonInteractive] ] |
      [-upgrade [-clusterid cid] [-renameReserved<k-v pairs>] ] |
      [-upgradeOnly [-clusterid cid] [-renameReserved<k-v pairs>] ] |
      [-rollback] |
      [-rollingUpgrade <rollback |started> ] |
      [-importCheckpoint] |
      [-initializeSharedEdits] |
      [-bootstrapStandby [-force] [-nonInteractive] [-skipSharedEditsCheck] ] |
      [-recover [-force] ] |
      [-metadataVersion ]
  • -backup – запуск Backup Node;
  • -checkpoint – запуск Checkpoint Node;
  • -format [-clusterid cid] – форматирование указанного NameNode. Запускает NameNode, форматирует его и затем выключает. Будет генерировать NameNodeFormatException, если имя dir уже существует и если переформатирование для кластера отключено;
  • -upgrade [-clusterid cid] [-renameReserved <k-v pairs>] – Namenode должен быть запущен с опцией обновления до новой версии Hadoop;
  • -upgradeOnly [-clusterid cid] [-renameReserved <k-v pairs>] – обновляет и закрывает указанный NameNode;
  • -rollback – откат NameNode до предыдущей версии. Следует использовать после остановки кластера и разворачивания старой версии Hadoop;
  • -rollingUpgrade <rollback|started>query: запрос текущего состояния обновления; prepare: подготовка нового обновления; finalize: завершение текущего обновления;
  • -importCheckpoint – загрузка изображения из каталога контрольных точек и сохранение его в текущем. Контрольная точка dir читается из свойства dfs.namenode.checkpoint.dir;
  • -initializeSharedEdits – форматирование нового общего каталога изменений и копирование его в достаточное количество сегментов журнала для запуска резервного NameNode;
  • -bootstrapStandby [-force] [-nonInteractive] [-skipSharedEditsCheck] – позволяет загружать резервные каталоги хранилища NameNode путем копирования последнего снимка пространства имен из активного NameNode. Используется при первой настройке кластера высокой доступности. Опция -force или -nonInteractive имеет то же значение, что и -format. Опция -skipSharedEditsCheck пропускает проверку правок, которая гарантирует достаточное количество правок, уже находящихся в общем каталоге, для запуска с последней контрольной точки;
  • -recover [-force] – восстановление потерянных метаданных в поврежденной файловой системе;
  • -metadataVersion – печать версии метаданных программного обеспечения и образа (при условии наличия настроенных каталогов).