我看过一些关于这个主题的帖子,但我想不出解决问题的办法。我使用的是hadoop版本hadoop2.0.0-cdh4.2.0和java版本“1.7.0\u09-icedtea”。在一个简单的mapreduce示例中,我运行了一个利用计数器控制交互的程序。我还使用序列文件来传递数据。代码很简单:它以一个数字开始,比如说3。Map器不修改数字,只是传递值;减速器每次运行时都会将数字减少1。如果数字大于零,计数器将递增。最后,数字必须减少到0,程序应该在该点停止。但是,在第一次迭代之后(在第二次迭代期间),我总是会遇到以下错误:
" 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"
有人能帮忙吗?谢谢您。
当做。。。
1条答案
按热度按时间hpcdzsge1#
如果我们试图写入一个不存在的文件,通常会发生租约不匹配。
请检查是否
/user/harsha/iterone/import/data
在hdfs
.那是文件吗?