title: Unable to start CDH4 secondary name node: Invalid URI for NameNode address
body: <p>I've been trying to setup a CDH4 installation of hadoop. I have 12 machines, labled hadoop01 - hadoop12, and the namenode, job tracker, and all data nodes have started fine. I'm able to view dfshealth.jsp and see that it's found all the data nodes.</p>
  
  <p>However, whenever I try to start the secondary name node it gives an exception:</p>
  
  <pre><code>Starting Hadoop secondarynamenode:                         [  OK  ]
  starting secondarynamenode, logging to /var/log/hadoop-hdfs/hadoop-hdfs-secondarynamenode-hadoop02.dev.terapeak.com.out
  Exception in thread "main" 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:324)
          at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:312)
          at org.apache.hadoop.hdfs.server.namenode.NameNode.getServiceAddress(NameNode.java:305)
          at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.initialize(SecondaryNameNode.java:222)
          at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.&lt;init&gt;(SecondaryNameNode.java:186)
          at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:578)
  </code></pre>
  
  <p>This is my hdfs-site.xml file on the secondary name node:</p>
  
  <pre><code>&lt;configuration&gt;
    &lt;property&gt;
      &lt;name&gt;dfs.name.dir&lt;/name&gt;
      &lt;value&gt;/data/1/dfs/nn&lt;/value&gt;
    &lt;/property&gt;
    &lt;property&gt;
      &lt;name&gt;dfs.namenode.http-address&lt;/name&gt;
      &lt;value&gt;10.100.20.168:50070&lt;/value&gt;
      &lt;description&gt;
        The address and the base port on which the dfs NameNode Web UI will listen.
        If the port is 0, the server will start on a free port.
      &lt;/description&gt;
    &lt;/property&gt;
    &lt;property&gt;
      &lt;name&gt;dfs.namenode.checkpoint.check.period&lt;/name&gt;
      &lt;value&gt;3600&lt;/value&gt;
    &lt;/property&gt;
    &lt;property&gt;
      &lt;name&gt;dfs.namenode.checkpoint.txns&lt;/name&gt;
      &lt;value&gt;40000&lt;/value&gt;
    &lt;/property&gt;
    &lt;property&gt;
      &lt;name&gt;dfs.namenode.checkpoint.dir&lt;/name&gt;
      &lt;value&gt;/var/lib/hadoop-hdfs/cache&lt;/value&gt;
    &lt;/property&gt;
    &lt;property&gt;
      &lt;name&gt;dfs.namenode.checkpoint.edits.dir&lt;/name&gt;
      &lt;value&gt;/var/lib/hadoop-hdfs/cache&lt;/value&gt;
   &lt;/property&gt;
   &lt;property&gt;
      &lt;name&gt;dfs.namenode.num.checkpoints.retained&lt;/name&gt;
      &lt;value&gt;1&lt;/value&gt;
    &lt;/property&gt;
   &lt;property&gt;
      &lt;name&gt;mapreduce.jobtracker.restart.recover&lt;/name&gt;
      &lt;value&gt;true&lt;/value&gt;
    &lt;/property&gt;
  
  &lt;/configuration&gt;
  </code></pre>
  
  <p>It would seem like something is wrong with the value given to dfs.namenode.http-address, but I'm not sure what. Should it start with http:// or hdfs://? I tried calling 10.100.20.168:50070 in lynx and it displayed a page. Any ideas?</p>