namenode地址的uri无效

2nbm6dog  于 2021-06-02  发布在  Hadoop
关注(0)|答案(4)|浏览(433)

我想建立一个 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` :
kognpnkq

kognpnkq1#

我遇到了同样的事情。我发现我必须将fs.defaultfs属性添加到hdfs-site.xml以匹配core-site.xml中的fs.defaultfs属性:

<property>
      <name>fs.defaultFS</name>
      <value>hdfs://<master-ip>:8020</value>
</property>

一旦我添加了这个,第二个namenode就正常启动了。

ncecgwcz

ncecgwcz2#

请确保已正确设置hadoop\u prefix变量,如链接中所示:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/singlecluster.html
甚至我也面临着和你一样的问题,通过设置这个变量,它得到了纠正

6rqinv9w

6rqinv9w3#

可能是您为hdfs-site.xml中的dfs.datanode.data.dir或dfs.namenode.data.dir提供了错误的语法。如果你漏掉了这个值,你会得到这个错误。检查file:///home/hadoop/hdfs的语法/

yizd12fk

yizd12fk4#

我也面临同样的问题,并通过格式化namenode进行了修复。命令如下:

hdfs namenode -format

core-site.xml条目是:

<configuration>
   <property>
      <name>fs.defaultFS</name>
      <value>hdfs://localhost:9000</value>
   </property>
</configuration>

那肯定能解决问题。

相关问题