#hadoop #hdfs
#hadoop #hdfs — файлы #hdfs
Вопрос:
У меня есть небольшой кластер hadoop с главным узлом и подчиненным, и по какой-то причине главный блок должен быть перемещен на другую машину. Хотя я могу довольно легко перенастроить узел, и у меня есть стратегия переноса метаданных hive и других материалов, меня беспокоит HDFS. Должен ли я переместить файл hadoop_tmp (где находится мой hdfs) на целевой компьютер? Или кластер будет реконструирован путем репликации файлов с сервера? Мой страх заключается в том, чтобы приземлиться с несогласованным hdfs, что лучше?
Ответ №1:
DistCP был бы наилучшим подходом. DistCP
Комментарии:
1. итак, вы предлагаете сначала смонтировать новый компьютер с пустым hdfs, а затем скопировать с ведомых устройств после того, как он будет подключен к кластеру?
Ответ №2:
Я описываю здесь, как я это сделал, поскольку это сработало, не знаю, лучший ли это способ, но он работает без того, чтобы файловая система находилась в несогласованном состоянии. Очень простой подход был:
- установите безопасный режим HDFS:
hdfs dfsadmin -safemode enter
- остановите кластер
- настройте новый главный узел со всем необходимым программным обеспечением, пользователями и конфигурациями hadoop
-
скопируйте файлы из файловой системы hadoop на новый главный компьютер, соответствующим образом изменив разрешения
-
измените DNS, чтобы отразить новую топологию (возможно, / etc / hosts), или измените IP, когда это необходимо, во всех файлах конфигурации кластера, чтобы отразить новый главный адрес
-
запустите новый кластер, он должен запуститься как обычно, запустив даже подчиненные
-
проверьте DFS и выйдите из безопасного режима:
hdfs dfsadmin safemode -leave