Тот же узел в списке мертвых и в списке активных узлов в Hadoop 2.2

#hadoop #upgrade #hdfs

#hadoop #Обновление #hdfs

Вопрос:

Кажется, что одни и те же узлы отображаются в списке мертвых узлов и в списке активных узлов, а также на веб-странице HDFS. Как избавиться от этих «мертвых» узлов?

Я только что обновил Apache Hadoop на нашем кластере из 480 узлов с версии 1.2.1 до 2.2.0. Все работало хорошо. Количество блоков, файлов одинаковы как в старой, так и в новой версии. FSCK сообщает об отсутствии проблем.

У меня 480 активных узлов. Что странно, так это то, что у меня 23 мертвых узла, отображаемых на странице администратора hdfs. Каким-то образом эти 23 мертвых узла также можно найти в списке живых узлов. У них одинаковое имя и IP-адрес в обоих списках (живых и мертвых).

В результате hadoop dfs admin -report я получаю:

 Datanodes available: 480 (503 total, 23 dead)
  

Это статистика мертвого узла в отчете:

 Configured Capacity: 0 (0 B)
DFS Used: 0 (0 B)
Non DFS Used: 0 (0 B)
DFS Remaining: 0 (0 B)
DFS Used%: 100.00%
DFS Remaining%: 0.00%
Last contact: Thu Jan 01 01:00:00 CET 1970
  

Я проверил, и на этих 23 узлах запущен только один экземпляр программного обеспечения DataNode.
Если я остановлю один datanode из текущего списка, который также существует в мертвом списке, то через 10 минут узел дважды появится в мертвом списке.
Если я снова запущу datanode, узел появится в активном списке, но один экземпляр все еще существует в мертвом списке.
Я проверил журналы namenode, но не нашел никаких ошибок. Я также перезапускал Hadoop много раз. Каждый раз эти же 23 узла появляются в списке мертвых.

Теперь я вижу, что проблема заключается в топологии сети. Я использовал

./hdfs dfsadmin -printTopology

команда, и понял, что 23 мертвых узла также связаны с /default-rack и /rack6. У меня есть 12 стоек для 480 узлов.

Но все же мой преобразователь сетевой топологии работает хорошо, поэтому я не могу понять, почему узлы также связаны со стойкой по умолчанию.

Ответ №1:

это ошибка
https://issues.apache.org/jira/browse/HDFS-6180
просмотрите свою конфу «dfs.hosts» в hdfs-site.xml

Ответ №2:

Спасибо. Мы обновили кластер до Apache Hadoop 2.5, и ложные мертвые узлы исчезли.