web-dev-qa-db-fra.com

Impossible de démarrer le namenode dans hadoop?

Je configure Hadoop dans Windows 7 à partir du tutoriel Il met en place un seul Node Cluster. Lors de l'exécution hdfs namenode -format pour formater le namenode, il lance une exception comme: Et quand start-all.cmd le windows namenode auto forcé alors je peux ouvrir l'interface graphique du namenode dans l'adresse - http: // localhost: 5007 .

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: /************************************************************

Core-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>

yarn-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>
19
Van Loc

Modifiez vos propriétés suivantes de:

<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>

À:

<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>
40
SMA

Pour Windows, les répertoires doivent être similaires à ce format /c:/path/to/dir ou file:///D:/path/to/dir:

J'ai essayé d'utiliser "/ hadoop/data/namenode" qui empêche le démarrage de namenode en raison de la non existence du répertoire de namenode spécifié. dfs, il va résoudre les chemins par rapport au lecteur sur lequel réside la source hadoop.

J'ai changé pour utiliser ce qui suit et cela a bien fonctionné:

<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>

Astuce: N'oubliez pas la barre oblique du préfixe avant le nom du lecteur /d:/

7
Muhammad Soliman