2012-04-04 8 views
1

私の場合は、/tmp/{user.name}/*のhadoop.tmp.dirを誤って削除しました。私はCLIからハイブクエリを実行すると、以下のようにmapredジョブはタスクの試みで失敗したときに今毎回:それはテスト環境ですhadoop mapred job - マップされたタスクを初期化しようとするエラーが発生しました

Error initializing attempt_201202231712_1266_m_000009_0: 
org.apache.hadoop.util.DiskChecker$DiskErrorException: Could not find any valid local  directory for ttprivate/taskTracker/hdfs/jobcache/job_201202231712_1266/jobToken 
at org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.getLocalPathForWrite(LocalDirAllocator.java:376) 
at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:146) 
at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:127) 
at org.apache.hadoop.mapred.TaskTracker.localizeJobTokenFile(TaskTracker.java:4432) 
at org.apache.hadoop.mapred.TaskTracker.initializeJob(TaskTracker.java:1301) 
at org.apache.hadoop.mapred.TaskTracker.localizeJob(TaskTracker.java:1242) 
at org.apache.hadoop.mapred.TaskTracker.startNewTask(TaskTracker.java:2541) 
at org.apache.hadoop.mapred.TaskTracker$TaskLauncher.run(TaskTracker.java:2505) 

、私はデータを気にしないでください。システムを正常に戻すにはどうすればいいですか?

答えて

1

あなたは、単純なディレクトリを再作成してmapredするために、ファイルの所有者を変更することができtmpファイル

+0

もっと具体的になりますか? stop-all.shによって、私はhadoopクラスタを再起動する必要があるのですか? – Shengjie

+0

はい私は、スクリプトファイルstop-all.shを呼び出して、あなたがインストールした時のようにDFSを設定することを意味しました – user1304907

+0

、私はclouderaバージョンを使用しています、奇妙なことに、スクリプトはありません。しかし、とにかくクラスタを再起動しました。私は最終的に私のタスクトラッカーノードがディスクスペースを使い果たしていることに気付きました。それは問題を治癒するかどうかを確認するためにいくつかの領域を解放しようとします。 – Shengjie

1

をフォーマットした後、stop-all.shファイルを呼び出すファイルを再作成して開始する必要があります。 chown mapred:mapred <your dir>

関連する問題