未配置dfs.namenode.servicerpc-address或dfs.namenode.rpc-address

时间:2013-01-25 22:51:41

标签: hadoop hdfs

我试图配置一个名称节点和四个数据节点的hadoop。我能够在一台计算机上成功配置名称节点和作业跟踪器并将其启动。

但是在我要配置数据节点的机器上,我执行了以下操作:

  • 我将hadoop-2.0.0-cdh4.1.2.tar.gzmr1-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.

我需要做什么?

3 个答案:

答案 0 :(得分:13)

masters文件的名称具有误导性。它应包含SecondaryNameNode的地址,并由NameNode本身读取。 DataNodes与masters文件无关。您需要在fs.default.name配置文件上配置core-site.xml

您看到的错误也是misleading,并指向错误的配置参数。

答案 1 :(得分:6)

这些步骤解决了我的问题:

  1. export HADOOP_CONF_DIR =“$ HADOOP_HOME / etc / hadoop”
  2. echo $ HADOOP_CONF_DIR
  3. hdfs namenode -format
  4. hdfs getconf -namenodes
  5. start-dfs.sh
  6. 然后,Hadoop可以正常启动。

答案 2 :(得分:0)

在hdfs-site.xml中为名称节点添加rpc地址将像这样

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

也在核心站点中添加属性

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