摘要:
hadoop集群中发现使用Parallel Scavenge+Parallel Old收集器组合进行垃圾收集(这也是server端jvm默认的GC方式)时CPU占用可能会非常高,偶尔会出现爆满的状态,考虑可能是由于当时程序在执行GC导致的,而且很可能是由于并行GC导致的,我们根据服务器启动... 阅读全文
摘要:
在编写完成MapReduce程序之后,调优就成为了一个大问题。如何使用现有工具快速地分析出任务的性能? 对于本地的java应用程序,进行分析可能稍微简单,但是hadoop是一个分布式框架,MapReduce任务可能在集群中的任意机器上被调度运行。而且本地Job运行器是一个与集群差异非常大的环... 阅读全文
摘要:
目前集群上某台机器卡住导致出现大量的Map端任务FAIL,当定位到具体的机器上时,无法ssh或进去后terminal中无响应,退出的相关信息如下:[hadoop@xxx ~]$ Received disconnect from xxx: Timeout, your session not... 阅读全文
摘要:
由于前期的集群规划问题,导致当前Hadoop集群中的硬件并没有完全利用起来。当前机器的内存CPU比例为2G:1core,但一般的MapReduce任务(数据量处理比较大,逻辑较复杂)的MR两端都需要将近4G的内存,于是原有的瓶颈就在于内存不够大,周末就和运维部门一起执行当前集群的机器加内存操... 阅读全文
摘要:
八皇后问题是一个以国际象棋为背景的问题,如何在8*8的棋盘上放置8个皇后,使得任何一个皇后都无法直接吃掉其他的皇后。其实8皇后问题也可以推广为更为一般的n皇后问题,棋盘大小变为n*n,当n=2或者3时,是不存在解的,问题的限制有: 所有的皇后都不能在同一行或同一列,也就是说每行或每列都只能... 阅读全文
摘要:
最近在项目中开展重构活动,对Map端内存尽量要省一些,当前的系统中Map端内存最高占用大概3G左右(设置成2G时会导致Java Heap OOM)。虽然个人觉得占用不算多,但是显然这样的结果想要试图去说服一些对内存占用非常挑剔的C++程序员们理由还是不够,于是便通过一定的方式对内存的占用进... 阅读全文
摘要:
在执行Reduce Shuffle的过程中,偶尔会遇到Shuffle Error,但是重启任务之后,Shuffle Error会消失,当然这只是在某些特定情况下才会报出来的错误。虽然在每次执行很短的时间报出这个错误,但是如果单个Reducer的错误数量超出maxAttempt,就会导致整个... 阅读全文
摘要:
最近发现自己在算法的方面真的是犹如小学生一般,跟公司的从一些更厉害学校毕业的人都不在一个水平面上,唉,觉得以前大学期间真心是一个学渣,虽然软件工程方面还可以,但是时候该补一补关于算法的相关知识了。学习算法的同时,也顺带着学习python脚本语言。动态规划动态规划是通过组合子问题的解来解决整个... 阅读全文
摘要:
Map任务的不均匀性 最近发现Map端数据越来越不均匀,而处理输入的数据,写到本地磁盘的数据量都差不多,我们随便拿出来两个attempt任务(当前map数量为64个),33和45,33的counter: 下面是000045的Counter数据 可以看出Counter中的数据也是差不多,但... 阅读全文
摘要:
本文是董西成的Hadoop技术内幕一书的读书章节总结。 第八章 Task运行过程分析 所有Task需要周期性地向TaskTracker汇报最新进度和计数器值,而这正是由Reporter组件实现的,其中Reporter汇报的信息中包含两个部分:任务执行进度以及任务计数器值。任务执行进度had... 阅读全文