Ho cercato di installare un'installazione CDH4 di hadoop. Ho 12 macchine, etichettate hadoop01 - hadoop12, e il namenode, il job tracker e tutti i nodi dati sono iniziati bene. Sono in grado di visualizzare dfshealth.jsp e vedere che ha trovato tutti i nodi dati.Impossibile avviare il nodo del nome secondario CDH4: URI non valido per l'indirizzo NameNode
Tuttavia, ogni volta che provo ad avviare il nodo del nome secondario dà un'eccezione:
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.<init>(SecondaryNameNode.java:186)
at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:578)
Questo è il mio file HDFS-site.xml sul nodo nome secondario:
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/data/1/dfs/nn</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>10.100.20.168:50070</value>
<description>
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.
</description>
</property>
<property>
<name>dfs.namenode.checkpoint.check.period</name>
<value>3600</value>
</property>
<property>
<name>dfs.namenode.checkpoint.txns</name>
<value>40000</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>/var/lib/hadoop-hdfs/cache</value>
</property>
<property>
<name>dfs.namenode.checkpoint.edits.dir</name>
<value>/var/lib/hadoop-hdfs/cache</value>
</property>
<property>
<name>dfs.namenode.num.checkpoints.retained</name>
<value>1</value>
</property>
<property>
<name>mapreduce.jobtracker.restart.recover</name>
<value>true</value>
</property>
</configuration>
E ' sembrerebbe che qualcosa non funzioni con il valore dato a dfs.namenode.http-address, ma non sono sicuro di cosa. Dovrebbe iniziare con http: // o hdfs: //? Ho provato a chiamare 10.100.20.168:50070 in lynx e ha visualizzato una pagina. Qualche idea?
Cosa succede se ricevo lo stesso errore in modalità standalone (l'intera cosa sta finendo il mio portatile? Il mio core-site.xml ha questa voce: ' fs.default.name HDFS: // localhost: 8020 ' –
Nel mio caso ha funzionato quando ho rimosso la porta. Così, per un'installazione autonoma mio core-site.xml appare come segue: fs.defaultFS HDFS: // localhost/ configuration> –