2016-01-19 19 views
11

私はWindows 7でHadoopを設定しますfrom tutorial それは単一ノードクラスタを設定します。 hdfs namenode -formatを実行してnamenodeをフォーマットすると、次のような例外がスローされます。 そしてstart-all.cmdウィンドウnamenodeが自動的に強制されたときに、アドレス-のnamenode GUIを開くことができます。hadoopでnamenodeを開始できませんでしたか?

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

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

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

がエラーを指摘いただきありがとうございドライブ名の前に接頭辞にスラッシュを忘れないでください、私も持っています私のチュートリアルでそれを更新しました。 –

答えて

22
から、あなたの次のプロパティを変更し

:へ

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

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

ありがとうございます。問題は私の問題を解決することです。 –

+0

よ、ありがとう、あなた!あなたは美しいです!ありがとう! – null

+0

それは私のために働いています、ありがとう! –

5

、ディレクトリはこの形式/c:/path/to/dirまたはfile:///D:/path/to/dirのようになります。

私はしました"/ hadoop/data/namenode"を使って試してみました。 "/ hadoop/data/namenode"を使用すると、Cドライブにファイルを格納していることがわかりましたが、dfsを起動している間に、hadoopソースが存在するドライブに対して相対パスを解決することになります。

私は次のように使用するようにスイッチを持っているし、それがうまく働いた:

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

ヒント:/d:/

関連する問題