История, которую должны рассказать SecondaryNameNode и NameNode

Hadoop

1.SecondaryNameNode подробное объяснение

image.png

1.1. Механизм работы SecondaryNameNode

1) Первый этап: запуск namenode

  • 1: Запустите namenode в первый раз, после форматирования создайте fsimage и отредактируйте файлы. Если это не первый запуск, напрямую загрузите журнал редактирования и файлы изображений в память.
  • 2: клиент делает запрос на добавление, удаление, изменение и запрос метаданных.
  • 3: Namenode записывает журнал операций и обновляет скользящий журнал.
  • 4: Namenode добавляет, удаляет, изменяет и проверяет данные в памяти.

2) Второй этап: работает SecondaryNameNode

  • 1: SecondaryNameNode спрашивает namenode, требуется ли контрольная точка. Непосредственно верните результат того, нужно ли проверять namenode.
  • 2: SecondaryNameNode запрашивает выполнение Checkpoint.
  • 3: namenode прокручивает записываемый журнал правок.
  • 4: Скопируйте журнал редактирования и файл изображения катящихся денег в SecondaryNameNode.
  • 5: SecondaryNameNode загружает журнал редактирования и файл изображения в память и объединяет их.
  • 6: Создайте новый файл изображения fsimage.checkpoint
  • 7: Скопируйте fsimage.checkpoint в namenode.
  • 8: namenode переименовывает fsimage.checkpoint в fsimage

1.2 Разница и связь между NameNode и SecondaryNameNode

1) Разница

  • 1: NameNode отвечает за управление метаданными всей файловой системы и информацией блока данных, соответствующей каждому пути (файлу).
  • 2: SecondaryNameNode в основном используется для периодического объединения зеркал пространства имен и журналов редактирования пространства имен.

2) Контакт

  • 1: SecondaryNameNode сохраняет файл изображения (fsimage) и журнал редактирования (edits), которые совпадают с NameNode.
  • 2: В случае сбоя основного узла имени (при условии, что резервная копия данных не была вовремя сохранена), данные можно восстановить с узла SecondaryNameNode.

1.3 Шаги по вводу в эксплуатацию новых узлов данных и выводу из эксплуатации старых узлов

1) Работа узла в сети Когда новый узел данных должен быть запущен, узел данных должен быть добавлен в файл dfs.hosts.

  1,关闭新增节点的防火墙
  2,在NameNode节点的hosts文件中加入新增数据节点的hostname
  3,在每个新增数据节点的hosts文件中加入NameNodehostname
  4,在NameNode节点增加新增节点的SSH免密码登录操作
  5,在NameNode的节点上的dfs.hosts中追加上新节点的hostname
  6,在其他节点上执行刷新操作:hdfs dfsadmin -refreshNodes
  7,在NameNode节点上,更改slaves文件,将要上线的数据节点hostname追加到slaves文件中。
  8,启动NameNode节点
  9,查看NameNode的监控页面看是否有新增加的节点

2) Автономная работа узла

  1,修改/conf/hdfs-site.xml文件
  2,确定需要下线的机器,dfs.oste.execlude文件中配置好需要下架的机器,这个是组织下架机器去连接NameNode
  3,配置完成之后进行配置的刷新操作./bin/hadoop dfsadmin -refreshNodes,这个操作的作用是在后台进行block块的移动
  
  4,当执行三的命令完成之后,需要下架的机器就可以关闭了,可以查看现在集群上连接的节点,正在执行Decommission
  会显示:Decommission Status:Decommission in progress执行完毕后,会显示:Decommission Status:Decommissioned
  5,机器下线完毕,将他们从excludes文件中移除。