Некорректная конфигурация: адрес назначений dfs.namenode.rpc-address не настроен
Я получаю эту ошибку при попытке загрузки DataNode. Из того, что я прочитал, параметры RPC используются только для конфигурации HA, которую я не настраиваю (я думаю).
2014-05-18 18:05:00,589 INFO [main] impl.MetricsSystemImpl (MetricsSystemImpl.java:shutdown(572)) - DataNode metrics system shutdown complete.
2014-05-18 18:05:00,589 INFO [main] datanode.DataNode (DataNode.java:shutdown(1313)) - Shutdown complete.
2014-05-18 18:05:00,614 FATAL [main] datanode.DataNode (DataNode.java:secureMain(1989)) - Exception in secureMain
java.io.IOException: Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured.
at org.apache.hadoop.hdfs.DFSUtil.getNNServiceRpcAddresses(DFSUtil.java:840)
at org.apache.hadoop.hdfs.server.datanode.BlockPoolManager.refreshNamenodes(BlockPoolManager.java:151)
at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:745)
at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:278)
Мои файлы выглядят так:
[root @datanode1 conf.cluster] # cat core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:8020</value>
</property>
</configuration>
cat hdfs-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.datanode.data.dir</name>
<value>/hdfs/data</value>
</property>
<property>
<name>dfs.permissions.superusergroup</name>
<value>hadoop</value>
</property>
</configuration>
Я использую последний дистрибутив CDH5.
Installed Packages
Name : hadoop-hdfs-datanode
Arch : x86_64
Version : 2.3.0+cdh5.0.1+567
Release : 1.cdh5.0.1.p0.46.el6
Любые полезные советы о том, как пройти мимо этого?
EDIT: просто используйте диспетчер Cloudera.
Ответы
Ответ 1
Я тоже столкнулся с той же проблемой и, наконец, обнаружил, что в fs.default.name есть пробел. Усечение пространства исправило проблему. Вышеупомянутый core-site.xml, похоже, не имеет места, поэтому проблема может отличаться от того, что у меня было. мои 2 цента
Ответ 2
Эти шаги решили для меня проблему:
-
export HADOOP_CONF_DIR = $HADOOP_HOME/etc/hadoop
-
echo $HADOOP_CONF_DIR
-
hdfs namenode -format
-
hdfs getconf -namenodes
-
./start-dfs.sh
Ответ 3
проверьте файл core-site.xml в директории $HADOOP_INSTALL/etc/hadoop. Убедитесь, что свойство fs.default.name настроено правильно.
Ответ 4
У меня была такая же проблема. Я нашел разрешение, проверив среду в Data Node:
$ sudo update-alternatives --install /etc/hadoop/conf hadoop-conf /etc/hadoop/conf.my_cluster 50
$ sudo update-alternatives --set hadoop-conf /etc/hadoop/conf.my_cluster
Убедитесь, что альтернативы установлены правильно в узлах данных.
Ответ 5
Очевидно, ваш файл core-site.xml имеет ошибку конфигурации.
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:8020</value>
</property>
Ваш параметр <name>fs.defaultFS</name>
в качестве <value>hdfs://namenode:8020</value>
, но ваш компьютер имя хоста - datanode1
. Так что вам просто нужно изменить namenode
на datanode1
будет ОК.
Ответ 6
в моем случае я неправильно установил HADOOP_CONF_DIR для другой установки Hadoop.
Добавьте к hadoop-env.sh:
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop/
Ответ 7
Настройка полного имени хоста в core-site.xml, мастерах и подчиненных решила проблему для меня.
Старый: узел1 (не удалось)
Новое: node1.krish.com (Succeed)
Ответ 8
создание каталогов dfs.name.dir и dfs.data.dir и настройка полного имени хоста в core-site.xml, мастерах и подчиненных решенах решена моя проблема
Ответ 9
В моей ситуации я исправил изменение конфигурации /etc/hosts в нижнем регистре.
Ответ 10
Проблема такого типа в основном возникает в том случае, если в значении или имени свойства есть пробел в любом из следующих files- core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site. XML
просто убедитесь, что вы не поместили пробелы или (изменили строку) между открывающим и закрывающим тегами name и value.
Код:
<property>
<name>dfs.name.dir</name> <value>file:///home/hadoop/hadoop_tmp/hdfs/namenode</value>
<final>true</final>
</property>
Ответ 11
Я столкнулся с той же проблемой, форматирование HDFS решило мою проблему. Не форматируйте HDFS, если у вас есть важные метаданные.
Команда для форматирования HDFS: hdfs namenode -format
Когда наменоде не работал
![When namenode was not working]()
После форматирования HDFS ![After formatting HDFS]()
Ответ 12
Проверьте файл ' /etc/hosts ':
Там должна быть строка, как показано ниже: (если нет, добавьте это)
namenode 127.0.0.1
Заменить 127.0.01 с NameNode IP.