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