title: Invalid URI for NameNode address
body: <p>I'm trying to set up a <code>Cloudera</code> Hadoop cluster, with a master node containing the <code>namenode</code>, <code>secondarynamenode</code> and <code>jobtracker</code>, and two others nodes containing the <code>datanode</code> and <code>tasktracker</code>. The <code>Cloudera</code> version is 4.6, the OS is ubuntu precise x64. Also, this cluster is being created from a AWS instance. <code>ssh passwordless</code> has been set as well, <code>Java</code> instalation Oracle-7.</p>
  
  <p>Whenever I execute <code>sudo service hadoop-hdfs-namenode start</code> I get:</p>
  
  <pre><code>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.&lt;init&gt;(NameNode.java:621)
          at org.apache.hadoop.hdfs.server.namenode.NameNode.&lt;init&gt;(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)
  </code></pre>
  
  <p>My <code>core-site.xml</code>:</p>
  
  <pre><code>&lt;?xml version="1.0"?&gt;
  &lt;?xml-stylesheet type="text/xsl" href="configuration.xsl"?&gt;
  
  &lt;!-- Put site-specific property overrides in this file. --&gt;
  &lt;configuration&gt;
     &lt;property&gt;
        &lt;name&gt;fs.defaultFS&lt;/name&gt;
        &lt;value&gt;hdfs://&lt;master-ip&gt;:8020&lt;/value&gt;
     &lt;/property&gt;
  &lt;/configuration&gt;
  </code></pre>
  
  <p><code>mapred-site.xml</code>:</p>
  
  <pre><code>&lt;?xml version="1.0"?&gt;
  &lt;?xml-stylesheet type="text/xsl" href="configuration.xsl"?&gt;
  
  &lt;!-- Put site-specific property overrides in this file. --&gt;
  &lt;configuration&gt;
     &lt;property&gt;
        &lt;name&gt;mapred.job.tracker&lt;/name&gt;
        &lt;value&gt;hdfs://&lt;master-ip&gt;:8021&lt;/value&gt;
     &lt;/property&gt;
  &lt;/configuration&gt;
  </code></pre>
  
  <p><code>hdfs-site.xml</code>:</p>
  
  <pre><code>&lt;?xml-stylesheet type="text/xsl" href="configuration.xsl"?&gt;
  
  &lt;!-- Put site-specific property overrides in this file. --&gt;
  &lt;configuration&gt;
     &lt;property&gt;
        &lt;name&gt;dfs.replication&lt;/name&gt;
        &lt;value&gt;2&lt;/value&gt;
     &lt;/property&gt;
     &lt;property&gt;
        &lt;name&gt;dfs.permissions&lt;/name&gt;
        &lt;value&gt;false&lt;/value&gt;
     &lt;/property&gt;
  &lt;/configuration&gt;
  </code></pre>
  
  <p>I tried using <code>public ip</code>, <code>private-ip</code>, <code>public dns</code> and <code>fqdn</code>, but the result is the same. 
  The directory <code>/etc/hadoop/conf.empty</code> looks like:</p>
  
  <pre><code>-rw-r--r-- 1 root root   2998 Feb 26 10:21 capacity-scheduler.xml
  -rw-r--r-- 1 root hadoop 1335 Feb 26 10:21 configuration.xsl
  -rw-r--r-- 1 root root    233 Feb 26 10:21 container-executor.cfg
  -rwxr-xr-x 1 root root    287 May 14 05:09 core-site.xml
  -rwxr-xr-x 1 root root   2445 May 14 05:09 hadoop-env.sh
  -rw-r--r-- 1 root hadoop 1774 Feb 26 10:21 hadoop-metrics2.properties
  -rw-r--r-- 1 root hadoop 2490 Feb 26 10:21 hadoop-metrics.properties
  -rw-r--r-- 1 root hadoop 9196 Feb 26 10:21 hadoop-policy.xml
  -rwxr-xr-x 1 root root    332 May 14 05:09 hdfs-site.xml
  -rw-r--r-- 1 root hadoop 8735 Feb 26 10:21 log4j.properties
  -rw-r--r-- 1 root root   4113 Feb 26 10:21 mapred-queues.xml.template
  -rwxr-xr-x 1 root root    290 May 14 05:09 mapred-site.xml
  -rw-r--r-- 1 root root    178 Feb 26 10:21 mapred-site.xml.template
  -rwxr-xr-x 1 root root     12 May 14 05:09 masters
  -rwxr-xr-x 1 root root     29 May 14 05:09 slaves
  -rw-r--r-- 1 root hadoop 2316 Feb 26 10:21 ssl-client.xml.example
  -rw-r--r-- 1 root hadoop 2251 Feb 26 10:21 ssl-server.xml.example
  -rw-r--r-- 1 root root   2513 Feb 26 10:21 yarn-env.sh
  -rw-r--r-- 1 root root   2262 Feb 26 10:21 yarn-site.xml
  </code></pre>
  
  <p>and <code>slaves</code> lists the <code>ip addresses</code> of the two slave machines:</p>
  
  <pre><code>&lt;slave1-ip&gt;
  &lt;slave2-ip&gt;
  </code></pre>
  
  <p>Executing </p>
  
  <pre><code>update-alternatives --get-selections | grep hadoop
  hadoop-conf                    auto     /etc/hadoop/conf.empty
  </code></pre>
  
  <p>I've done a lot of search, but didn't get anything that could help me fix  my problem. Could someone offer any clue what's going on? </p>