2016-01-19 21 views
11

Ho config Hadoop in windows 7 from tutorial Ha impostato un cluster a nodo singolo. Quando si esegue hdfs namenode -format per formattare il namenode, genera un'eccezione come: E quando start-all.cmd il namenode di Windows viene forzato automaticamente, allora posso aprire la GUI del namenode nell'indirizzo - http://localhost:50070.Impossibile avviare il namenode in hadoop?

16/01/19 15:18:58 WARN namenode.FSEditLog: No class configured for C, dfs.namenode.edits.journal-plugin.C is empty
16/01/19 15:18:58 ERROR namenode.NameNode: Failed to start namenode. java.lang.IllegalArgumentException: No class configured for C at org.apache.hadoop.hdfs.server.namenode.FSEditLog.getJournalClass(FSEditLog.java:1615) at org.apache.hadoop.hdfs.server.namenode.FSEditLog.createJournal(FSEditLog.java:1629) at org.apache.hadoop.hdfs.server.namenode.FSEditLog.initJournals(FSEditLog.java:282) at org.apache.hadoop.hdfs.server.namenode.FSEditLog.initJournalsForWrite(FSEditLog.java:247) at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:985) at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1429) at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1554) 16/01/19 15:18:58 INFO util.ExitUtil: Exiting with status 1 16/01/19 15:18:58 INFO namenode.NameNode: SHUTDOWN_MSG: /************************************************************

Centro-site.xml

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

HDFS-site.xml

<configuration> 
    <property> 
     <name>dfs.replication</name> 
     <value>1</value> 
    </property> 
    <property> 
     <name>dfs.namenode.name.dir</name> 
     <value>C:/hadoop/data/namenode</value> 
    </property> 
    <property> 
     <name>dfs.datanode.data.dir</name> 
     <value>C:/hadoop/data/datanode</value> 
    </property> 
</configuration> 

mapred-site.xml

<configuration> 
    <property> 
     <name>mapreduce.framework.name</name> 
     <value>yarn</value> 
    </property> 
</configuration> 

filo site.xml

<configuration> 
    <property> 
     <name>yarn.nodemanager.aux-services</name> 
     <value>mapreduce_shuffle</value> 
    </property> 
    <property> 
     <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 
     <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
    </property> 
</configuration> 
+0

Grazie per sottolineare l'errore, ho anche aggiornato nel mio tutorial. –

risposta

22

Cambia i tuoi seguenti oggetti di:

<property> 
    <name>dfs.namenode.name.dir</name> 
    <value>C:/hadoop/data/namenode</value> 
</property> 
<property> 
    <name>dfs.datanode.data.dir</name> 
    <value>C:/hadoop/data/datanode</value> 
</property> 

A:

<property> 
    <name>dfs.namenode.name.dir</name> 
    <value>/hadoop/data/namenode</value> 
</property> 
<property> 
    <name>dfs.datanode.data.dir</name> 
    <value>/hadoop/data/datanode</value> 
</property> 
+0

Grazie. La tua domanda è risolvere il mio problema. –

+0

Yo, signore, sì, tu! Sei bello! Grazie! – null

+0

Funziona per me, grazie mille! –

5

Per le finestre, le directory dovrebbe essere simile a questo formato /c:/path/to/dir o file:///D:/path/to/dir:

ho provato a usare "/ hadoop/data/namenode" che impedisce l'avvio del namenode a causa di inesistente ce della directory specificata del namenode .. Ho trovato che sta memorizzando i file nell'unità c quando si utilizza "/ hadoop/data/namenode" ma durante l'avvio di dfs risolverà i percorsi relativamente all'unità in cui risiede la fonte di hasdop.

devo passare a utilizzare il seguente ed ha funzionato benissimo:

<property> 
    <name>dfs.namenode.name.dir</name> 
    <value>/d:/hadoop/data/namenode</value> 
</property> 
<property> 
    <name>dfs.datanode.data.dir</name> 
    <value>/d:/hadoop/data/datanode</value> 
</property> 

Suggerimento: non dimenticare lo slash prefisso prima nome dell'unità /d:/

Problemi correlati