Dfs.namenode.servicerpc-address или dfs.namenode.rpc-address не настроен
Я пытался настроить hadoop с одним именем node и четырьмя узлами данных. Мне удалось успешно настроить имя node и отслеживать работу на одной машине и вывести его.
Но на моей машине, где должны быть настроены данные node, я сделал следующее:
- Я распаковал файлы
hadoop-2.0.0-cdh4.1.2.tar.gz
и mr1-2.0.0-mr1-cdh4.1.2.tar.gz
в папку и настроил конфигурацию с помощью master и slave.
- В файле
master
я установил ip-адрес машины, для которой было настроено имя node.
- В подчиненном устройстве я установил ip-адрес своей машины, где я распаковал шарики tar.
Когда я пытаюсь запустить данные node с помощью команды
hdfs datanode
Я получаю эту ошибку:
java.io.IOException: Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured.
Что мне нужно сделать?
Ответы
Ответ 1
Имя файла masters
вводит в заблуждение. Он должен содержать адрес ВторичногоNameNode и считывается самим NameNode. DataNodes не имеют ничего общего с файлом masters
. Вам нужно настроить fs.default.name
на core-site.xml
конфигурационный файл.
Ошибка, которую вы видите, также вводит в заблуждение и указывает на неправильный параметр конфигурации.
Ответ 2
Эти шаги решили для меня проблему:
- export HADOOP_CONF_DIR = "$ HADOOP_HOME/etc/hadoop"
- echo $HADOOP_CONF_DIR
- hdfs namenode -format
- hdfs getconf -namenodes
- start-dfs.sh
Затем Hadoop может быть правильно запущен.