dfs.namenode.servicerpc-address или dfs.namenode.rpc-address не настроены

Я пытался настроить hadoop с одним узлом имени и четырьмя узлами данных. Мне удалось успешно настроить узел имен и средство отслеживания заданий на одной машине и запустить их.

Но на моей машине, где должен быть настроен узел данных, я сделал следующее:

  • Я разархивировал hadoop-2.0.0-cdh4.1.2.tar.gz и mr1-2.0.0-mr1-cdh4.1.2.tar.gz в папку и настроил конфигурацию с ведущим и ведомым.
  • В файле master я установил IP-адрес машины, которая была настроена как узел имени.
  • На подчиненной машине я установил IP-адрес своей машины, на которой я распаковал tar-шары.

Когда я пытаюсь запустить узел данных с помощью команды

hdfs datanode

Я получаю эту ошибку:

java.io.IOException: Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured.

Что мне нужно сделать?


person raghuram gururajan    schedule 25.01.2013    source источник


Ответы (3)


Имя файла masters вводит в заблуждение. Он должен содержать адрес SecondaryNameNode и считывается самим NameNode. DataNodes не имеют ничего общего с файлом masters. Вам необходимо настроить fs.default.name в core-site.xml файле конфигурации.

Ошибка, которую вы видите, также вводит в заблуждение и указывает на неправильный параметр конфигурации.

person omid    schedule 29.01.2013

Эти шаги решили проблему для меня:

  1. экспорт HADOOP_CONF_DIR="$HADOOP_HOME/etc/hadoop"
  2. эхо $HADOOP_CONF_DIR
  3. hdfs namenode -format
  4. hdfs getconf -namenodes
  5. старт-dfs.sh

После этого Hadoop может правильно запуститься.

person Hamdi Charef    schedule 02.03.2016
comment
Пришлось создать HADOOP_CONF_DIR, так как Hadoop не считывал конфигурации из core-site.xml. Я создал HADOOP_HOME/conf/hadoop-env.sh и добавил необходимые переменные (HADOOP_CONF_DIR, HADOOP_HDFS_HOME и т. д.) в hadoop-env.sh. - person CᴴᴀZ; 09.08.2016

Добавление rpc-адреса в hdfs-site.xml для узла имени будет работать следующим образом.

<property>
<name>dfs.namenode.rpc-address</name>
<value>dnsname:port</value>
</property>

также в основной сайт добавить свойство

<property> <name>fs.defaultFS</name> <value>dnsname:port</value> </property>

person SHASHI SHEKHAR Barnwal    schedule 26.02.2019
comment
Этот ответ помог мне. Спасибо! - person user3768495; 26.06.2020