When you try to start the namenode for a system that does not have a formatted DFS, it fails silently without any indication that the lack of formatting was the problem. I tried to run start-dfs.sh on a single-node cluster with an unformatted HDFS. The namenode failed to start, but generated no warning messages, and its log was empty. After running "hadoop namenode -format" everything worked.
This is a difficult problem to diagnose because the namenode gives you no feedback. It would be better if it printed an error message to its log file.