Пользовательский интерфейс Hadoop показывает только одну датаноду
Я начал кластер hadoop, состоящий из главного и 4 подчиненных узлов.
Конфигурация кажется нормальной:
hduser @ ubuntu-amd64: / usr / local / hadoop $./bin/hdfs dfsadmin -report
Когда я вхожу в NameNode UI (http://10.20.0.140:50070/
) Overview
карта выглядит нормально - например, общая емкость всех узлов суммируется.
Проблема в том, что в карточке Datanodes
Я вижу только одну датаноду.
8 ответов
Я столкнулся с той же проблемой, к счастью, я решил ее. Я думаю, это вызвано "loaclhost".
- Настройте другое имя для этих IP-адресов в /etc/host
- Не забудьте перезапустить все машины, все будет хорошо.
Это из-за одного и того же имени хоста в обоих датодах. В вашем случае оба datanodes регистрируются в namenode с тем же именем хоста, то есть "localhost". Попробуйте с разными именами хоста, это решит вашу проблему.
в пользовательском интерфейсе будет отображаться только одна запись для имени хоста.
в выводе "hdfs dfsadmin -report" вы можете увидеть оба.
Следующие советы могут помочь вам
- Проверьте core-site.xml и убедитесь, что имя хоста namenode является правильным
- Проверьте правила брандмауэра в namenode и datanodes и убедитесь, что необходимые порты открыты
- Проверьте журналы датододов
- Убедитесь, что все датододы запущены и работают
Как сказал @Rahul, проблема в том же имени хоста
измените ваше имя хоста в файле / etc / hostname и присвойте разные имена хостам для каждого хоста и определите имя хоста с помощью IP-адреса / etc / hosts
затем перезагрузите кластер, вы увидите все датододы на вкладке информации о датоданах в браузере
Извините, такое ощущение, что это было время. Но все же я хотел бы поделиться своим ответом: основная причина - в hadoop/etc/hadoop/hdfs-site.xml: файл xml имеет свойство с именем dfs.datanode.data.dir. Если вы установите для всех узлов данных одно и то же имя, тогда hadoop предполагает, что в кластере есть только один узел данных. Итак, правильный способ сделать это - присвоить каждому узлу данных уникальное имя:
С уважением, ЮН ХАНСЮАНЬ
У меня такая же проблема, потому что я использую ip
вместо hostname
, [hdfs dfsadmin -report]
правильно, хотя это только один [localhost] в пользовательском интерфейсе. Наконец, я решил это так:
<property>
<name>dfs.datanode.hostname</name>
<value>the name you want to show</value>
</property>
Вы почти не можете найти его в любом документе...
Ваш отчет администратора выглядит абсолютно нормально. Пожалуйста, запустите ниже, чтобы проверить детали дискового пространства HDFS.
"hdfs dfs -df /"
Если вы все еще видите, что размер хороший, то это просто сбой пользовательского интерфейса.
Мои проблемы: у меня есть 1 главный узел и 3 подчиненных узла. когда я запускаю все узлы по start-all. sh и доступ к панели управления мастер-узлами. Я смог увидеть только один узел данных в веб-интерфейсе.
Мое решение:
- Попробуйте временно остановить брандмауэр с помощью sudo systemctl stop firewalld . если вы не хотите останавливать службу firewalld, тогда r разрешите порты узла данных с помощью sudo firewall-cmd --permanent --add-port {PORT_Number / tcp,PORT_number2 / tcp}; sudo firewall-cmd --reload
- Если вы используете пользователя sapretae для Hadoop, в моем случае я использую пользователя hadoop для управления демонами hadoop, а затем измените владельца вашего файла dataNode и nameNode на. sudo chown hadoop: hadoop / opt / data -R
Моя конфигурация hdfs-site.xml, как показано на изображении
- Проверьте свои демоны на узле данных с помощью команды jps . он должен выглядеть так, как показано на изображении ниже.
jps Выход