HCE:提升资源利用率的MapReduce框架

HCE计算框架是针对Hadoop MapReduce的优化项目,旨在通过提升任务执行效率,减少CPU资源使用,最高可达30%的节省。它以C++实现,减少了Java的性能损耗和数据处理的额外开销,支持C++、Python等多种接口,并能兼容原有Java Streaming接口。
摘要由CSDN通过智能技术生成

Hadoop系统提供了MapReduce计算框架的开源实现,像Yahoo!、Facebook、淘宝、中移动、百度、腾讯等公司都在借助Hadoop进行海量数据处理。Hadoop系统性能不仅取决于任务调度器的分配策略,还受到分配后实际任务执行效率的影响,任务执行常常涉及读取、排序、归并、压缩、写入等具体阶段。

HCE计算框架是一个开源项目,旨在通过优化任务执行的各个阶段,提升整个Hadoop系统的效率。与Hadoop Java框架相比,基于HCE框架的MapReduce任务最高可以节省超过30%的CPU资源使用。

图1 Hadoop生态系统中的HCE计算框架

图1给出了HCE框架在Hadoop生态系统中所处的位置。对于OLTP系统来说,用户通过Web前端生成相应请求,请求经过中间件处理,作为数据进入数据库或者K-V存储系统中,同时会产生日志。OLTP系统产生的数据和日志都会作为分析系统的输入,对于搜索引擎和广告系统来说,每天的日志会轻松超过TB。日志和业务数据一般会存放到海量存储系统HDFS文件系统或者K-V存储系统中,分布式计算框架MapReduce一般会基于存储系统之上。每天会执行成千上万的MapReduce作业进行海量数据处理,产生的结果会有三个去处:存放于海量存储系统以备后续使用;导入用于产生报表或分析的数据库;作为OLTP系统的输入,导入线上存储中。MapReduce作业一般由内部用户通过Hadoop原生客户端、Pig/DISQL语言客户端或者Hive数据仓库三种方式进行提交,作业执行结果可以通过SQL客户端查询。

问题

越来越多的公司开始使用Hadoop及其周边系统进行海量数据分析,Yahoo!和Facebook的Hadoop集群节点数已经过万,并且节点增长的趋势不减,国内公司如腾讯和百度等也面临着同样的问题。不断增长的业务需求和业务数据导致的集群资源紧缺是集群不断扩容的主要原因,CPU资源(注:存储资源紧缺的解决方案之一是开启重量级的压缩(如Facebook),这涉及CPU资源的使用)又是其中最为紧缺的。为了控制成本,优化集群资源利用率势在必行。

对于分布式计算层面,资源优化有两个途径:一是通过精细化的资源调度来保证全局资源的最大化利用,这通常涉及合理的资源调度算法和轻量级的资源隔离;二是通过优化计算任务和用户程序来提升原有计算作业的资源使用率。HCE计算框架主要关注后者。

跨平台、高扩展、通用接口的计算框架也带来了额外开销

分析Hadoop MapReduce计算框架,已有实现可以再做权衡。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值