我正在尝试建立一个Apache Hadoop 2.3.0集群,我有一个主节点和三个从节点,从节点列在$ HADOOP_HOME / etc / hadoop / slaves文件中,我可以从slave到telnet端口9000上的主名称节点,但是当我在任何从站上启动datanode时,我得到以下异常。
2014-08-03 08:04:27,952致命 org.apache.hadoop.hdfs.server.datanode.DataNode:初始化失败 用于块池块池BP-1086620743-xx.xy.23.162-1407064313305 (Datanode Uuid null)服务 server1.mydomain.com/xx.xy.23.162:9000 org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.protocol.DisallowedDatanodeException): Datanode拒绝与namenode通信,因为主机名不能 已经解决了。
以下是我的core-site.xml的内容。
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://server1.mydomain.com:9000</value>
</property>
</configuration>
同样在我的hdfs-site.xml中,我没有为dfs.hosts或dfs.hosts.exclude属性设置任何值。
感谢。
答案 0 :(得分:0)
每个节点都需要完全限定的唯一主机名。
您的错误说
主机名无法解析
你可以在你的每个奴隶上使用/ etc / hosts文件使他们拥有distnct hostname
之后再试一次