У меня была установка oop на 7 узлах, настроенных с использованием локальных доменов с использованием /etc/hosts
. Выглядит это так:
1.2.3.4 hadoop-master
1.2.3.5 hadoop-slave-1
1.2.3.6 hadoop-slave-2
1.2.3.7 hadoop-slave-3
1.2.3.8 hadoop-slave-4
1.2.3.9 hadoop-slave-5
1.2.3.10 hadoop-slave-6
Теперь проблема в том, что на некоторых узлах неверное отображение для hadoop-slave-1
, то есть для некоторых узлов hadoop-slave-1
отображается на 1.2.3.12
вместо 1.2.3.4
, У Namenode правильное отображение, поэтому узлы данных хорошо отображаются в пользовательском интерфейсе namenode.
Вопрос в том, хорошо ли будет просто изменить файл /etc/hosts
и запустить службы? Я думаю, что это может повредить некоторые специфические c блоки, связанные с узлом * 1012.
Я могу придумать 2 способа исправить это:
Исправить / Файл etc / hosts в поврежденных узлах и перезапустите сервис. Но я не уверен, может ли это повредить блоки. Точно ли это предположение?
Мы можем временно удалить этот единственный сервер hadoop-slave-1
из кластера и повторно сбалансировать кластер Had oop, чтобы распределить все данные между оставшимися 6 узлами и затем снова добавьте сервер обратно в кластер и перенесите данные на 7 узлов. Но проблема в том, что данные, содержащиеся в кластере, довольно большие и могут создать проблему, а также перебалансировать данные будет тяжелой работой, что создаст нагрузку на сервер узла имен и может вызвать проблему с кучей.
Есть ли другое решение в этой ситуации? Кроме того, какой инструмент или утилиту, которую вы предлагаете для репликации данных в другой, имел oop кластер?
Помощь очень ценится !!