摘要:
1. 如果碰到异常“Task attempt failed to report status for xxx seconds. Killing!”,最可能是碰到死循环了。2. 如果没有死循环:控制超时的属性是:mapred.task.timeout,默认600000ms,即600s。可以设置成更大的值。可以直接在Jobconf或Configuration中修改(只对本Job起作用),也可以修改mapred-site.xml(对所有Job起作用)。3. 如果没有死循环,但task执行时间长又不好确定,可以在Reducer或Mapper中主动发送心跳,但需控制发送心跳的频率: long he... 阅读全文
摘要:
有个MR Job,输入数据大小几G,输入大小估计几十T(未压缩)。输出量太大,为空间方面考虑决定使用压缩。map的输出与Job的输入一样大小,优化幅度不大,暂时不考虑map输出的压缩,着重于Reduce输出的压缩。《Hadoop权威指南》中介绍了几种压缩格式,因为此Job的输出还要作为下一个MR的输入,故:1. 第一次选了《权威指南》中介绍的支持切分的bzip2格式,输出格式为Sequence File。结果:速度贼慢,比不压缩的还慢。可以断定在压缩上面花费过多时间。2. bzip2压缩只能放弃,但又不甘心无压缩输出。搜索了些资料(http://blog.sina.com.cn/s/blog_ 阅读全文