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

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

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

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

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

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

Большое Вам спасибо


person Noa Be    schedule 05.09.2018    source источник
comment
Можете ли вы сделать резервную копию namenode? Если да, то выключите все датаноды, переведите namenode в автономный режим, запустите другую службу namenode, затем восстановите резервную копию с последующим запуском всех datanodes.   -  person OneCricketeer    schedule 05.09.2018


Ответы (1)


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