我使用以下instructions在Pseudo Distributed模式下在CentOS 6.3 64位上安装了CDH4。在Hadoop配置文件中,所有内容都设置为localhost。但是,当我格式化名称节点时,会出现以下异常。当我向192.168.1.101 CentOSHost
文件添加/etc/hosts
条目时,异常就会消失,我可以运行格式化/启动HDFS并运行MR作业。
即使没有在/etc/hosts
文件中添加条目而未连接到网络,我也想运行MR作业。怎么做到这一点?
12/08/27 22:17:15 WARN net.DNS:无法确定主机的地址 - 回落到“localhost”地址 java.net.UnknownHostException:CentOSHost:CentOSHost
在java.net.InetAddress.getLocalHost(InetAddress.java:1360)
在org.apache.hadoop.net.DNS.resolveLocalHostIPAddress(DNS.java:283)
在org.apache.hadoop.net.DNS。(DNS.java:59) 在org.apache.hadoop.hdfs.server.namenode.NNStorage.newBlockPoolID(NNStorage.java:1017)
在org.apache.hadoop.hdfs.server.namenode.NNStorage.newNamespaceInfo(NNStorage.java:565)
在org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:145)
at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:724)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1095)
在org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1193)
答案 0 :(得分:3)
看起来像配置返回/使用主机名为CentOSHost
的部分。
hostname --fqdn
给你的回报是什么?
对于Hadoop,名称查找和反向查找成功运行非常重要。您应该能够解析ip-address并解析ip-address中的主机名(反向解析)。这可以使用上面的命令进行测试。
要使反向解析工作,需要输入/ etc / hosts。除非条目和配置指向localhost。即使在这种情况下,hostname --fqdn
也应该返回localhost
。