多集群下资源共享方案介绍
作者: Dong | 新浪微博: 西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址:http://dongxicheng.org/mapreduce-nextgen/multi-clusters-sharing-resources/ 本博客的文章集合: http://dongxicheng.org/recommend/ 1. 集群共
作者:Dong | 新浪微博:西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明
网址:http://dongxicheng.org/mapreduce-nextgen/multi-clusters-sharing-resources/
本博客的文章集合:http://dongxicheng.org/recommend/
1. 集群共享带来的好处
在一些公司中,所有服务器按照业务逻辑被拆分成若干个集群,这些集群各自运行着相对独立的业务,并由专门的运维人员管理。
然而,由于集群中应用特点不同,它们的利用率可能不一致,同一时间段,有的集群业务繁忙,资源利用率高,甚至可能出现排队等待资源的情况,而另外一些集群则业务空闲,资源利用率很低。此外,多个集群也可能导致数据冗余度增加,比如一个集群中的业务需要另外一个集群中的数据,可能需要跨集群拷贝数据,进而占用更多的磁盘空间。
为了解决多集群带来的问题,可将多个集群统一为一个集群,这将带来以下几个好处:
(1)提高集群整体利用率。所有业务运行在一个大的集群中,并按需分配给各个应用程序,可达到资源错峰交谷的目的,提高系统整体利用率和均衡率。
(2)减少管理成本。多个集群合并成一个大集群后,便于统一管理和统一运维,可减少管理成本。
2. 多集群共享方案
有些公司中,同时存在多个Hadoop集群,这些集群运行着不同的业务线,并对实时性、资源需求、优先级等有不同要求。为了实现集群资源共享,可将多个Hadoop集群合并成一个,并由Hadoop作业调度器统负责资源管理和任务分配。为了对应原先的业务逻辑,作业调度器通常将用户分成若干个队列(每个业务线一个队列),并给每个队列分配一定比例的资源,作业调度器中包含资源分配逻辑,能够按照一定的策略将资源分配各这些队列,并灵活实现资源按需分配,以达到资源最高利用。
3. 多服务共享方案
Hadoop只是当前比较流行的开源软件之一,除了Hadoop,很多公司还有其他一些服务,比如Web Server,Thrift Server、DataBase Service等,同样,通常考虑到服务的重要性和将来的发展,会将这些服务单独部署到独立的几台机器上,在大部分情况下,很多机器的资源利用率很低,为了提高机器整体利用率和支持服务自动化部署,可将这些服务混搭地部署到各个服务器上,于是资源统一管理系统诞生了,业界典型代表是Google的Borg和腾讯的Torca,开源界代表是Mesos和YARN。
资源统一管理系统的另外一个值得一提的动机是数据中心编程,也就是说,可以把数据中心看成一台超大的服务器,由一个资源管理系统对所有的计算资源,包括CPU、内存、硬盘、端口号等,进行统一管理和调度,涉及到的关键技术包括资源分配、资源隔离、资源划分等,具体可参考腾讯Torca的设计文档。
4. 参考资料
(1)Torca:http://djt.qq.com/article-329-1.html
(2)Mesos:http://www.mesosproject.org/
(3)YARN:http://hadoop.apache.org/docs/r0.23.6/
原创文章,转载请注明: 转载自董的博客
本文链接地址: http://dongxicheng.org/mapreduce-nextgen/multi-clusters-sharing-resources/
作者:Dong,作者介绍:http://dongxicheng.org/about/
本博客的文章集合:http://dongxicheng.org/recommend/
Copyright © 2013
This feed is for personal, non-commercial use only.
The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:
)
上一篇: die()函数如何不报错