解决hbase跑mapreduce时遇到内存及超时问题

这两天让PM给烦死了,这边是python跑mapreduce回溯任务,已经做好平台自动化方面,但出点小问题,先前是因为数据做迁移,运行环境又有所不同,所以自动化跑任务出点小问题。 今上午,自动化都解决后,又………..


下面这是跑mapreduce回溯作业时返回的错误,mapreduce如果有一个map任务失败,最后的结果也是无意思的。 所以我们要避免这样的情况发生,我这边是直接在java代码里面调整了timeout参数。  下面的还有个 Error: Java heap space的错误 ,这是内存不够用引起的,默认是800m内存,我调整了好几次,显示1.5G,但还是会报错,现在调整到2G … …

15/08/04 11:41:25 INFO mapreduce.Job: Running job: job_1434436132792_528525
15/08/04 11:41:50 INFO mapreduce.Job: Job job_1434436132792_528525 running in uber mode : false
15/08/04 11:41:50 INFO mapreduce.Job:  map 0% reduce 0%
15/08/04 11:56:48 INFO mapreduce.Job: Task Id : attempt_1434436132792_528525_m_000314_0, Status : FAILED
AttemptID:attempt_1434436132792_528525_m_000314_0 Timed out after 600 secs
15/08/04 12:00:59 INFO mapreduce.Job:  map 1% reduce 0%
15/08/04 12:01:42 INFO mapreduce.Job: Task Id : attempt_1434436132792_528525_m_000371_0, Status : FAILED
Error: Java heap space
15/08/04 12:05:37 INFO mapreduce.Job:  map 2% reduce 0%

关于hbase跑mapreduce问题的文章,原文地址   http://xiaorui.cc/?p=1825

在下面的mapreduce代码中,我增加了timeout超时的时间,以及内存的使用,可以看到我调整到了2000m。 因为hbase属于公共服务,不能调节的太大,这样会影响别的业务的正常运行,尤其那种每天的日报。 

我们再来看看调整超时和内存大小后,最终的结果. 

对于我这python当来说,java实在是闹腾的东西,每次修改个东西,还要用IDE来调整,好在我们这跑mapreduce的逻辑简单。 


对Golang感兴趣的朋友可以加群: 278517979 !!!
另外如果大家觉得文章对你有些作用! 如果想赏钱,可以用微信扫描下面的二维码, 感谢!
另外再次标注博客原地址  xiaorui.cc

2 Responses

  1. 云开发 2015年8月27日 / 下午5:49

    对于数据不严谨的情况,可以把计算好的数据扔到kafka

  2. dcgolang 2015年8月5日 / 上午8:22

    一般不都在配置里面指明内存大小么?

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">