2013-05-10 115 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

这是一个文件吗?