Замена диска без остановки DataNode
Горячая замена диска (hot swapping) в HDFS — это процесс замены диска без приостановки работы DataNode.
Эта статья описывает, как подключить новый диск и добавить его в DataNode с помощью CLI и ADCM.
Чтобы добавить новый диск в DataNode:
-
Подключите диск к нужному хосту. Чтобы проверить, доступен ли диск в системе, выполните команду
lsblk. Возможный вывод:NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 100G 0 disk ├─vda1 253:1 0 1M 0 part └─vda2 253:2 0 100G 0 part / vdb 253:16 0 20G 0 disk
-
Создайте директорию для HDFS:
$ mkdir -p /srv/hadoop-hdfs/data1 -
Создайте файловую систему на диске:
$ mkfs.xfs /dev/vdb -
Смонтируйте диск:
$ mount /dev/vdb /srv/hadoop-hdfs/data1 -
Добавьте новую файловую систему в fstab:
$ echo "/dev/vdb /srv/hadoop-hdfs/data1 xfs defaults,noatime 0 0" | sudo tee --append /etc/fstab -
Смонтируйте файловую систему:
$ mount -aЧтобы проверить, успешно ли смонтирована система, используйте команду
lsblk. Возможный вывод:NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 100G 0 disk ├─vda1 253:1 0 1M 0 part └─vda2 253:2 0 100G 0 part / vdb 253:16 0 20G 0 disk /srv/hadoop-hdfs/data1
-
Сделайте
hdfsвладельцем новой директории и предоставьте следующие разрешения:$ chown -R hdfs:hadoop /srv/hadoop-hdfs/data1 $ chmod -R 755 /srv/hadoop-hdfs/data1 -
Укажите созданную директорию в значении параметра
dfs.datanode.data.dirконфигурации нужной DataNode. Вы можете сделать это вручную, отредактировав файл hfds-site.xml на хосте DataNode, или создав группу конфигурации в ADCM. Дополнительную информацию о том, как изменить значение параметраdfs.datanode.data.dir, можно получить в статье Добавление каталогов данных HDFS. Чтобы узнать, как создать группу конфигурации, обратитесь к статье Настройка конфиг-групп.ВНИМАНИЕПараметр
dfs.datanode.data.dirнеобходимо изменить только для узла DataNode, на хосте которого создана нужная директория. Изменение этого параметра для всей системы может привести к ошибке. -
Запустите реконфигурацию DataNode с помощью команды:
$ hdfs dfsadmin -reconfig datanode <HOST>:9867 startЗдесь
<HOST>— это FQDN хоста DataNode. Чтобы проверить статус задачи реконфигурации, используйте команду:$ hdfs dfsadmin -reconfig datanode <HOST>:9867 status
Чтобы удалить диск из DataNode, отредактируйте свойство dfs.datanode.data.dir на хосте DataNode и запустите команду реконфигурации.