我試圖運行映射縮減工作。我設置輸出路徑:/本地/ mypath中/ mr_reuslt但得到:關於Hadoop的mrjob不能MKDIR
SEVERE: Mkdirs failed to create: /local/mypath/mr_reuslt/_temporary
但我相信從我的賬戶,我可以做mkdir to hadoop。 如果我手動執行hadoop fs -mkdir/local/mypath/mr_reuslt/_temporary,它會創建文件夾。 沒有其他與之相關的異常消息。 我真的不認爲是一個權限問題。當我明確地調用mk作業中的創建文件時,它會被創建。 任何人都可以給我一些關於這裏發生的事情的建議嗎? 對不起,我不得不提,我試圖從我的java代碼調用map reduce作業。 我打電話給:
ToolRunner.run(new Validation(), new String[]{...,...,...});
從我的java代碼。 這是問題嗎? 請問有沒有什麼好的方法可以從普通的java代碼中調用mapreduce作業?
這裏是我的測試代碼:
for(final ExecJob e: jobSet){
Thread t = new Thread(new Runnable(){
@Override
public void run() {
String inputPath = pathsForValidation.get(e);
String outputPath = inputPath+validationExten;
logger.log(LogLevel.INFO,"Should validate data in "+inputPath+", validation result in "+outputPath);
try {
ToolRunner.run(new Validation(), new String[]{TransferToHadoopUtilities.hdfsPath,inputPath,outputPath});
} catch (Exception e1) {
logger.log(LogLevel.ERROR,"Thread encountered exception:");
TransferToHadoopUtilities.logger.log(e1);
}finally{
Thread.currentThread().interrupt();
}
}
});
t.start();
}
我剛開始在我的java程序的代碼。不做哈流罐......
但作爲一個Java應用程序啓動。 謝謝!
什麼用戶+組正在運行? – 2012-03-15 17:40:13
我不在adm組中,但是我有很高的權限從我的帳戶製作任何目錄或刪除任何內容。謝謝:) – 2012-03-15 17:46:41
您可能擁有足夠的權限,但Hadoop運行的用戶可能不是 – 2012-03-15 18:22:06