2012-03-29 3 views
1

を読み取ることがないように見える:Hadoopの構成は、私が(スタンドアロンHadoopの中に)私のMapReduceアプリケーションを起動しようとするたびに、それはそれはできませんtmpディレクトリにものを入れしようとし

Exception in thread "main" java.io.IOException: Failed to set permissions of path: \tmp\hadoop-username\mapred\staging\username-1524148556\.staging to 0700 

それ無効なパスを使用します(スラッシュはcygwinの場合とは逆です)。

core-site.xml(Hadoopのconfフォルダ内)にhadoop.tmp.dirを設定しましたが、設定ファイルが読み込まれないようです(ファイルに構文エラーがある場合は違いがありません)。私は追加しました:

--config /home/username/hadoop-1.0.1/conf 

コマンドには違いはありません。私も試してみました:

export HADOOP_CONF_DIR=/home/username/hadoop-1.0.1/conf 

だけでなく、それは私がここを参照してくださいに失敗しています他に何のconfigsが読まれないであろう理由について

任意のポインタ....効果を持っているように見える、あるいはしないのですか?

ありがとうございます!

+0

あなたはCygwinのバージョンを実行していますHadoopまたはWindows版の – AlG

+0

@AlG:http://apache.mirror.versatel.nl/hadoop/common/hadoop-1.0.1/からlinux版をダウンロードしました。別にcygwin版がありますか?しかしそれでも、/ tmpを使ってはいけないということをLinuxのバージョンに伝えることは可能でしょうか? – openbas2

+0

私はちょうど確認しました、Cygwinのバージョンはありません。その奇妙なパスが鍵です、おそらくHadoopのLinux版はWindows版のJavaを採用していますか? – AlG

答えて

0

スラッシュが反転しているわけではありません。/ tmpは実際に/ cygwin/tmpまたはc:\ cygwin \ tmpにマップされるcygwinパスです。 hadoopはjavaでcygwinのマッピングについて知らないので、/ tmpはc:\ tmpを意味します。

cygwinで1.0.1を稼働させたい場合は、パッチを当てるのにかなりのものがあります。

は、以下を参照してください。

0

http://en.wikisource.org/wiki/User:Fkorning/Code/Hadoop-on-Cygwinは、私は次のリンクは有用であることが判明、問題はHadoopのの新しいバージョンで立っているようです。私はバージョン1.0.4を使用していますが、私はまだこの問題に直面しています。

http://comments.gmane.org/gmane.comp.jakarta.lucene.hadoop.user/25837

更新:次のようにMahoutの0.7にし、「Mahootアクションの」ブックの例を使用するもののために、あなたは例のコードを変更shoud:

File outFile = new File("output"); 
    if (!outFile.exists()) { 
     outFile.mkdir(); 
    } 
    Path output = new Path("output"); 
    HadoopUtil.delete(conf, output); 

    KMeansDriver.run(conf, new Path("testdata/points"), new Path("testdata/clusters"), 
      output, new EuclideanDistanceMeasure(), 0.001, 10, 
      true, 0.1, true); 
関連する問題

 関連する問題