Замена диска без остановки 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 и запустите команду реконфигурации.