2013-05-10 114 views
1

我已經看到關於此主題的一些帖子,但我無法找到解決我的問題。我使用Hadoop版本Hadoop 2.0.0-cdh4.2.0和Java版本「1.7.0_09-icedtea」。我正在運行一個程序,它利用計數器來控制簡單的mapreduce示例中的交互。我也使用序列文件來傳遞數據。代碼很簡單:它從一個數字開始,比如3。映射器不會修改數字,而只是傳輸數值。減速器每次運行時將數字減1。如果數字大於零,計數器會增加。最終,數字必須減少到0,程序應該停止在那一點。但是,在第一次迭代後(第二次迭代期間),我總是得到以下錯誤:租賃不匹配LeaseExpiredException

" Running job: job_201304151408_0181 
13/05/10 18:55:54 INFO mapred.JobClient: map 0% reduce 0% 
13/05/10 18:56:03 INFO mapred.JobClient: map 100% reduce 0% 
13/05/10 18:56:10 INFO mapred.JobClient: map 100% reduce 33% 

13/05/10 18:56:11 INFO mapred.JobClient: Task Id : attempt_201304151408_0181_r_000002_0, Status : FAILED 
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException): Lease mismatch on /user/harsha/iterone/import/data owned by DFSClient_NONMAPREDUCE_-592566041_1 but is accessed by DFSClient_NONMAPREDUCE_-965911637_1" 

任何人都可以請幫忙嗎?謝謝。

問候......

回答

0

通常租賃錯配發生,如果我們試圖寫入其中不存在的文件。

請檢查/user/harsha/iterone/import/data是否在hdfs

這是一個文件嗎?