Hadoop: поменяйте местами DataNode и NameNode без потери данных HDFS

У меня кластер из 5 машин:

  • 1 большой NameNode
  • 4 стандартных узла данных

Я хочу изменить свой текущий NameNode на DataNode без потери данных, хранящихся в HDFS, чтобы мой кластер мог стать:

  • 1 стандартный NameNode
  • 3 стандартных узла данных
  • 1 большой DataNode

Кто-нибудь знает простой способ сделать это?

большое спасибо

1 ответ

Решение
  1. Узел данных снятия с эксплуатации, куда будет перемещен наменоде.
  2. Остановите кластер.
  3. Создайте tar из dfs.name.dir из текущего наменода.
  4. Скопируйте все файлы конфигурации hadoop из текущего NN в целевой NN.
  5. Замените имя /ip целевого наменода, изменив core-site.xml.
  6. Восстановить тарбол из dfs.name.dir. Убедитесь, что полный путь такой же.
  7. Теперь запустите кластер, запустив новый наменод и на одну датододу меньше.
  8. Убедитесь, что все работает отлично.
  9. Добавьте старый наменоде в качестве датододы, настроив его в качестве датододы.
  10. Я бы предложил удалить, а затем установить hadoop на обоих узлах, чтобы предыдущая конфигурация не вызывала никаких проблем.
Другие вопросы по тегам