我想建立一个 Cloudera
hadoop集群,主节点包含 namenode
, secondarynamenode
以及 jobtracker
,以及其他两个包含 datanode
以及 tasktracker
. 这个 Cloudera
版本是4.6,操作系统是ubuntu-precise x64。另外,这个集群是从一个aws示例创建的。 ssh passwordless
已经设定好了, Java
安装oracle-7。
每当我执行 sudo service hadoop-hdfs-namenode start
我得到:
2014-05-14 05:08:38,023 FATAL org.apache.hadoop.hdfs.server.namenode.NameNode: Exception in namenode join
java.lang.IllegalArgumentException: Invalid URI for NameNode address (check fs.defaultFS): file:/// has no authority.
at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:329)
at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:317)
at org.apache.hadoop.hdfs.server.namenode.NameNode.getRpcServerAddress(NameNode.java:370)
at org.apache.hadoop.hdfs.server.namenode.NameNode.loginAsNameNodeUser(NameNode.java:422)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:442)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:621)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:606)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1177)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1241)
我的 core-site.xml
:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://<master-ip>:8020</value>
</property>
</configuration>
``` `mapred-site.xml` :
4条答案
按热度按时间kognpnkq1#
我遇到了同样的事情。我发现我必须将fs.defaultfs属性添加到hdfs-site.xml以匹配core-site.xml中的fs.defaultfs属性:
一旦我添加了这个,第二个namenode就正常启动了。
ncecgwcz2#
请确保已正确设置hadoop\u prefix变量,如链接中所示:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/singlecluster.html
甚至我也面临着和你一样的问题,通过设置这个变量,它得到了纠正
6rqinv9w3#
可能是您为hdfs-site.xml中的dfs.datanode.data.dir或dfs.namenode.data.dir提供了错误的语法。如果你漏掉了这个值,你会得到这个错误。检查file:///home/hadoop/hdfs的语法/
yizd12fk4#
我也面临同样的问题,并通过格式化namenode进行了修复。命令如下:
core-site.xml条目是:
那肯定能解决问题。