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