hadoop datanode启动失败 - 配置错误:未配置namenode地址dfs.namenode.servicerpc-address或dfs.namenode.rpc-address

时间:2015-07-13 17:07:53

标签: hadoop

我正在尝试使用一个namenode和两个datanode(slave1和slave2)设置Hadoop集群,因此我从Apache Hadoop下载了zip文件,并将其解压缩到namenode和datanode的一个(slave1)。

所以我在master / slave1中进行了所有配置(格式化namenode)并成功设置了slave1与master,这意味着我能够提交作业并在管理UI中查看datanode实例。

所以我在slave1中压缩了整个hadoop安装并将其解压缩到slave2中,并更改了tmp目录和环境变量(如JAVA_HOME)的一些属性值。我没有触及core-site.xml中的主URL(fs.defaultFS)。

当我尝试在slave2中启动datanode时,我收到此错误。

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

奇怪的是,我没有在slave1中指定这些属性,并且能够在slave1中启动datanode而没有任何问题,但即使所有配置都相同,它也会在slave2中抛出此错误。

我发现这些链接与此问题有关,但它在我的环境中无效。

  1. javaioioexception-incorrect
  2. dfs-namenode-servicerpc-address-or-dfs-namenode-rpc-address-is-not-configured
  3. incorrect-configuration-namenode-address-dfs-namenode-rpc-address-is-not-config
  4. 我在centos上使用hadoop 2.4.1和JDK1.7。

    如果遇到这个问题的人已经弄明白并且可以分享一些信息,那将非常有帮助。

    感谢。

6 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

我遇到了和你一样的问题。

当我使用命令scp将配置从Master复制到Slaves时,此命令并没有真正替换您的文件。在我首先删除整个hadoop文件夹并再次复制之后,问题解决了。

我建议您再次在Slave2中查看配置

祝你好运。

答案 2 :(得分:0)

如果您的主机名包含字符" _"例如。 " my_host转变"把它改成" myhost" 不要忘记更改core-site.xml中的主机名。

答案 3 :(得分:0)

您只需将core-site.xml配置为:

即可
<property>
<name>fs.defaultFS</name>
<value>hdfs://slave:9000</value>
</property>

这意味着配置dfs.namenode.rpc-address

我遇到的一次错误经历。 与问题描述相同的错误按摩。

属性名称拼写错误

<property>
<name>fs.defautFS</name>
<value>hdfs://slave:9000</value>
</property>

答案 4 :(得分:-1)

我也遇到了和你一样的问题。原因是: 我配置了错误的文件,例如hadoop-env.sh,hdfs-site.xml,core-site.xml,mapred-site.xml。这些文件放在/usr/local/hadoop/etc/hadoop目录中,而不是以前版本的/usr/local/hadoop/conf。 此外,mapred-site.xml.template目录中有/usr/local/hadoop/etc/hadoop这样的文件,因此,您必须将此文件复制到其他文件,如此命令hduser@localhost:~$ cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml

我建议您按照本指南重新配置系统。 Install hadoop on single node 。 在此,您可以在多节点

中安装时探索问题

答案 5 :(得分:-2)

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/data/namenode</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/data/datanode</value>
    </property>
</configuration>

然后,您必须授予用户访问文件夹的权限。