如果您通过我之前的问题访问此链接:hadoop2.2.0 installation on linux ( NameNode not starting )
你可能知道了!我一直试图为hadoop-2.2.0运行单节点模式很长一段时间了:D 如果没有访问那个,你会发现:)最后,按照教程后我可以格式化namenode,但是当我启动namenode时,我在日志中看到以下错误:
2014-05-31 15:44:20,587 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: java.lang.IllegalArgumentException: Does not contain a valid host:port authority: file:///
at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:164)
at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:212)
at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:244)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:280)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:569)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1479)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1488)
我已经搜索了解决方案,其中大多数要求检查双重检查并继续检查 core-site.xml,mapred-site.xml,hdfs-site.xml 我做了所有这些他们看起来对我很好。是否有人有任何可能出错的线索?
更新 文件的位置 / usr / local / hadoop / etc / hadoop
芯-site.xml中
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
HDFS-site.xml中
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/yarn_data/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/yarn_data/hdfs/datanode</value>
</property>
</configuration>
mapred-site.xml中
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration
答案 0 :(得分:1)
从 dfs.namenode.name.dir 和 dfs.datanode.data.dir 属性中删除 file:。正确格式化NameNode并启动守护进程。另外,请确保您对这些目录拥有适当的所有权和权限。
如果您确实想使用 file:方案,请使用 file:// ,以便显示以下值:
file:///usr/local/hadoop/yarn_data/hdfs/namenode
file:///usr/local/hadoop/yarn_data/hdfs/datanode
HTH