Как переместить данные DFS на новый диск - PullRequest
0 голосов
/ 24 сентября 2018

[вопрос новичка в Hadoop]

В настоящее время у меня есть реализация узла с одним узлом hadoop 2.7.2.На машине недостаточно места: df -h дает

Filesystem  Size   Used   Avail  Use%    Mounted on
/dev/vdb    50G    39G    12G    78%     /app

Как только процент использования возрастает до 80%, кластер зависает.Поэтому я должен добавить больше дисков к машине.

Как лучше всего увеличить дисковое пространство?

Подход A:

  • Добавить новый диск (/dev/vdc)
  • Смонтировать его в любую папку (например, /hadoop_data)
  • обновить hdfs-site.xml, чтобы добавить узел dfs.datanode.data.dir, указывающий на монтированиеточка

Недостатки подхода A:

  • не препятствует заполнению первой настроенной папки
  • вид 'грязного''поскольку все данные разбросаны по нескольким точкам монтирования

Подход B:

  • stop hadoop
  • Добавить новый диск(/dev/vdc)
  • Установите этот новый диск как /app_new
  • rsync между /edx и /app_new
  • поменяйте местами монтирования между двумя дисками
  • start hadoop

Недостаток подхода B:

  • , если hadoop хранит любую ссылку на идентификатор диска, это, вероятно, не будет работать

Что тыБудет ли «самый чистый» вариант?Есть ли третий путь?

1 Ответ

0 голосов
/ 25 сентября 2018

Следуйте подходу A.

Просто добавьте еще немного шагов:

Упомяните имя каталога в каталоге Datanodes, чтобы ваш кластер узнал, что вы добавили новый каталог Datanode.

Теперь просто запустите команду балансировщика HDFS, и тогда данные будут одинаково перемещены в оба Датодода, и ваша ошибка исчезнет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...