在一些公司,所有的服务器根据业务逻辑分成几个集群。这些集群中的每一个都运行着相对独立的服务,并由专门的运维人员进行管理。但是,由于集群中应用的特性不同,它们的利用率可能不一致。在同一时间段内,部分集群资源利用率高,甚至可能排队等待资源,而其他集群资源利用率空闲。率很低。此外,多个集群也可能导致数据冗余增加。例如,一个集群中的业务需要另一个集群中的数据,数据可能需要跨集群复制,从而占用更多的磁盘空间。1.集群共享的好处为了解决多集群带来的问题,可以将多个集群统一为一个集群,这样会带来以下好处:(1)提高集群的整体利用率。所有业务运行在一个大集群中,按需分配给各个应用,可以达到资源峰谷转移的目的,提高系统的整体利用率和平衡性。(2)降低管理成本。多个集群合并成一个大集群后,便于统一管理,统一运维,降低管理成本。2.多集群共享方案有些公司同时存在多个Hadoop集群。这些集群运行不同的业务线,对实时性、资源需求和优先级有不同的要求。为了实现集群资源共享,可以将多个Hadoop集群合并为一个,由Hadoop作业调度器负责资源管理和任务分配。作业调度器为了对应原有的业务逻辑,通常会将用户分成若干个队列(每个业务线一个队列),并为每个队列分配一定比例的资源。作业调度器包含资源分配逻辑,可以根据策略为这些队列中的每一个分配资源,灵活地实现资源按需分配,以达到资源利用的最优。3、多服务共享解决方案Hadoop只是目前比较流行的开源软件之一。除了Hadoop,很多公司还有其他的服务,比如WebServer、ThriftServer、DataBaseService等,同样,服务的重要性和未来为了提高机器的整体利用率,支持服务的自动部署,这些服务可以混合搭配。部署到每台服务器上,一个统一的资源管理系统就此诞生。行业的典型代表是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/
