一、背景
今天采用10台异构的机器做测试,对500G的数据进行运算分析,业务比较简单,集群机器的结构如下:
A:双核CPU×1、500G硬盘×1,内存2G×1(Slaver),5台
B:四核CPU×2、500G硬盘×2,内存4G×2(Slaver),4台
C:四核CPU×2、500G硬盘×2,内存4G×8(Master),1台
软件采用Hadoop 0.20.2,Linux操作系统。
二、过程
1、制造了500G的数据存放到集群中。
2、修改配置,主要是并发的Map和Reduce数量。修改如下图:
3、修改mapred-site.xml配置文件中的mapred.child.java.opts参数为-Xmx2046m
4、启动Job,半路出现了Cannot allocate memory错误,明显是内存分配不够。细看报错的机器,是A类机器报此错误。
5、修改A类机器的mapred-site.xml配置文件,将mapred.child.java.opts修改为-Xmx1024m,运行Job,错误消失。
三、分析总结
1、第一次采用这么少的机器处理500G的数据,确实在配置优化上需要做对应的调整。
2、Map的数量和CPU的核数也有直接关系。一般来说最好不要高于CPU的核数。(CPU是4核,并发数最好设置为4).
3、通过调整得出一个简单的公式:Map的并发数量(需要不大于CPU核数)×mapred.child.java.opts < 该节点机器的总内存。
4、当然并发数大于内存或CPU核数也可以,但是有些风险,Task执行错误的风险。
5、计算的能力还是和硬件性能有关系,硬件越好,计算的效率还是很高的。当然差的机器也能使用,添砖加瓦一起干总是好的。
6、如果集群是异构的机器,那么还是建议每台机器做不同的配置参数。统一化的配置还是比较适合同构集群。
7、一些统一的参数也可以通过MR的代码用conf.set(key,value);的方式来设置。
8、有些时候没写东西了,最近事情比较多。如果有疑问还是很欢迎大家发邮件讨论:dajuezhao@gmail.com
分享到:
相关推荐
Spark 提供了与Hadoop Map/Reduce 相似的分布式计 算框架,但却有基于内存和迭代优化的设计,因此在交互式数据分析和数据挖掘工作负载中表现更优秀。 随着对大数据技术研究的深入,Spark开源生态系统得到了快速发展...
论文研究-DTCNN的人脸识别算法的Map-Reduce并行化实现研究.pdf, 传统人脸识别算法都采用基于特征提取的解决方案,所以有效的特征需要很强的先验知识和丰富的工程经验....
关于Yarn内存分配与管理,主要涉及到了ResourceManage、ApplicationMatser、NodeManager这几个概念,相关的优化也要...这里还有一个Container的概念,现在可以先把它理解为运行map/reduce task的容器,里面有详细介绍。
akka-mapreduce是一个基于Scala和Akka的库,可使用Scala中的Akka actor运行所有“ map”和“ reduce”任务并行运行的map-reduce作业。 在我们的框架中,最初使用Akka Stream读取数据,我们要做的是提供一个 ,可...
Tablesaw给我们提供了一种基于内存的高性能大数据解决方案。你可以使用它的API方便地从RDBMS或是CSV中导入数据,然后利用Tablesaw提供的接口对数据进行排序、筛选、分组、map/reduce等操作。
JavaScript Map / Reduce 复写 Apache Lucene和ElasticSearch集成 与常见的CouchDB客户端(例如Cradle,Nano等)的兼容性 与PouchDB的兼容性 AvanceDB并非旨在取代CouchDB来存储文档。 我们在产品路线图上具有永久...
map/reduce 作业的 F# 开发人员的生活更轻松:- 您的 map/reduce 函数没有要遵守的基类层次结构支持可选的单实例输出和输出集合支持轻松测试来自文件系统和内存数据源的输入和输出,或者您可以提供自己的易于测试您...
本文简介了基于互联网高并发与海量数据存储的三个系统架构。...用到了map/reduce、通道锁、内存数据库、分布式主键等技术。 数据中心存储架构为大型互联网站提供在线结构化数据存储与非结构化数据存储。
夏普蒙哥 C#中类似于MongoDB的实现。 存储在内存中。 工作正在进行中 参考 请参见MVCC,Map / Reduce,...
在金山云自身的扩展实践中,杨钢总结出一下几点经验:Map/Reduce 只是数据处理的范式之一,应该根据不同需求选择不同的数据处理方案;可以考虑具有性价比优势的高配服务器。例如:4路CPU,1TB内存,价格仅十几万;...
MR-GSP算法将原序列数据库划分为多个子序列数据库并分发到多个Map节点,Map函数扫描存放在Map节点内存中的子序列数据库,产生局部序列模式,Reduce函数对所有局部序列模式合并,扫描原序列数据库,计算局部序列模式...
// 图像分配内存的最大值 BOOL Step; // 菜单上一步、下一步启动禁用标志 -> FALSE为下一步禁用 BOOL Step_All = TRUE; // 初始化上一步、下一步 -> TRUE为禁用 BOOL fdj = TRUE; // 可以使用放大镜的标志 int ...
本篇是对Python中的匿名函数和map()函数、reduce()函数、filter()函数这四三大封装函数(遍历处理),以及它们的使用案例。 文末是对这几个函数用法功能的比较。 匿名函数 该函数的用法类似于C语言中的宏定义,只是这...
Map-reduce Programming Paradigm Hadoop Map-reduce Job Scheduler Resources Hadoop, Why? 数据太多了,需要能存储、快速分析Pb级数据集的系统 单机的存储、IO、内存、CPU有限,需要可扩展的集群 使用门槛低,...
计算利用一个输入key/value对集,来产生一个输出key/value对集.MapReduce库的用户用两个函数表达这个计算:map和reduce. 用户自定义的map函数,接受一个输入对,然后产生一个中间key/value对集.MapReduce库把所有具有...
针对Eclat算法在挖掘海量数据中的频繁项目集时存在的内存和计算资源不足等问题,提出了基于Map/ Reduce计算模型的并行挖掘算法――MREclat。首先,将水平型数据库转换成垂直型数据库;然后,将转换后的数据按2.项...
1 序 2 思想篇 2 CAP 2 最终一致性 2 变体 2 BASE 2 其他 2 I/O的五分钟法则 2 不要删除数据 ...5 使用 Map/Reduce 处理汇聚 5 基于磁盘的和内存中的实现 5 仅仅是炒作? 6 附 6 感谢 6 版本志 6 引用
Couchbase 是一个分布式系统,它使用 memcached 下的代理来添加一个最终会收敛到磁盘的集群层,从而创建可用作高可用性、内存中容错分布式文档存储的东西。 Couchbase 是开源的,一个团队致力于闭源构建,其中的功能...
(1)Copy阶段:ReduceTask从各个MapTask上远程拷贝一片数据,并针对某一片数据,如果其大小超过一定阈值,则写到磁盘上,否则直接放到内存中。 (2)Merge阶段:在远程拷贝数据的同时,ReduceTask启动了两个后台...
针对K-means算法处理海量数据存在严重的内存不足,提出利用MapReduce并行化K-means,但是普通的K均值存在收敛速度慢、易陷入局部最优和对初始聚类中心的选取等局限性,因此选择了经ACO改进过的ACO-K-means聚类算法。...