Замена диска без остановки DataNode

Горячая замена диска (hot swapping) в HDFS — это процесс замены диска без приостановки работы DataNode.

Эта статья описывает, как подключить новый диск и добавить его в DataNode с помощью CLI и ADCM.

Чтобы добавить новый диск в DataNode:

  1. Подключите диск к нужному хосту. Чтобы проверить, доступен ли диск в системе, выполните команду 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
  2. Создайте директорию для HDFS:

    $ mkdir -p /srv/hadoop-hdfs/data1
  3. Создайте файловую систему на диске:

    $ mkfs.xfs /dev/vdb
  4. Смонтируйте диск:

    $ mount /dev/vdb /srv/hadoop-hdfs/data1
  5. Добавьте новую файловую систему в fstab:

    $ echo "/dev/vdb /srv/hadoop-hdfs/data1 xfs defaults,noatime 0 0" | sudo tee --append /etc/fstab
  6. Смонтируйте файловую систему:

    $ 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
  7. Сделайте hdfs владельцем новой директории и предоставьте следующие разрешения:

    $ chown -R hdfs:hadoop /srv/hadoop-hdfs/data1
    $ chmod -R 755 /srv/hadoop-hdfs/data1
  8. Укажите созданную директорию в значении параметра dfs.datanode.data.dir конфигурации нужной DataNode. Вы можете сделать это вручную, отредактировав файл hfds-site.xml на хосте DataNode, или создав группу конфигурации в ADCM. Дополнительную информацию о том, как изменить значение параметра dfs.datanode.data.dir, можно получить в статье Добавление каталогов данных HDFS. Чтобы узнать, как создать группу конфигурации, обратитесь к статье Настройка конфиг-групп.

    ВНИМАНИЕ

    Параметр dfs.datanode.data.dir необходимо изменить только для узла DataNode, на хосте которого создана нужная директория. Изменение этого параметра для всей системы может привести к ошибке.

  9. Запустите реконфигурацию DataNode с помощью команды:

    $ hdfs dfsadmin -reconfig datanode <HOST>:9867 start

    Здесь <HOST> — это FQDN хоста DataNode. Чтобы проверить статус задачи реконфигурации, используйте команду:

    $ hdfs dfsadmin -reconfig datanode <HOST>:9867 status

Чтобы удалить диск из DataNode, отредактируйте свойство dfs.datanode.data.dir на хосте DataNode и запустите команду реконфигурации.

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней