虚拟化技术:深入Hadoop磁盘部署的算法

在一个Hadoop集群中有不同类型的节点,它们对磁盘的要求是不同的。主(master)节点侧重于存储的可靠性,数据(data)节点就需要更好的读写性能,以及较大的容量。

在虚拟集群中,存储(datastore)可以分为本地(local)和共享(shared)两种类型。本地存储只能被其所在的主机上的虚拟机访问,而共享存储则可以被其他主机上的虚拟机访问到。本地存储的读写性能更好,而共享存储的可靠性更好。

磁盘部署的算法会根据用户输入,为不同类型的Hadoop节点提供最优的存储方案。

首先来看Hadoop集群中的主节点。因为主节点需要更高的可靠性,一般会配置上vSphere的高可用性(High Availability)和容错(Fault Tolerance)特性,所以共享存储是必须的。下面是json格式的配置文件的片段,显示如何指定主节点组的存储。

1 {
2 "nodeGroups" : [
3 {
4 "name": "master",
5 "roles": [
6 "hadoop_namenode",
7 "hadoop_jobtracker"
8 ],
9 "instanceNum": 1,
10 "instanceType": "LARGE",
11 "cpuNum": 2,
12 "memCapacityMB":4096,
13 "storage": {
14 "type": "SHARED",
15 "sizeGB": 20
16 },
17 "haFlag":"on",
18 "rpNames": [
19 "rp1"
20 ]
21 },

从第13行开始是关于存储的配置,指定使用共享类型的存储(第14行“type”:“SHARED”),大小为20GB。第17行“haflag”:“on”指定使用vSphere的高可用性(HA)特性。Serengeti在分配磁盘的时候会为主节点分配共享类型的存储。

下面来看Hadoop集群中的数据节点。这些节点会有大量的磁盘读写操作,根据用户指定的可以使用的存储的类型,系统会使用不同的磁盘部署算法。

对于用户指定的是共享存储的情况,因为共享存储的背后是SAN或者NAS,已经是由多块物理磁盘构成,并且磁盘的调度被隐藏在控制器之后,最优的磁盘部署算法是把所需的存储空间集合在一起,放在一个共享存储上。如果出现一个共享存储的空间不够的情况,系统会把分配后剩余的所需存储空间放在下一个可用的共享存储上,直到所需的存储空间全部分配完毕。

另外一种情况就是用户指定的本地存储。对于本地存储,我们推荐用户把每个物理磁盘单独定义(每个物理磁盘对应一个datastore)。这样的话,我们可以通过(1)尽可能多的使用本地存储,(2)提供更多的物理磁盘拓扑信息,来提高Hadoop的磁盘总体吞吐率。

时间: 2024-07-29 04:34:42

虚拟化技术:深入Hadoop磁盘部署的算法的相关文章

深入Hadoop磁盘部署的算法

在一个http://www.aliyun.com/zixun/aggregation/14119.html">Hadoop集群中有不同类型的节点, 它们对 磁盘的要求是不同的.主(master)节点侧重于存储的可靠性,数据(data)节点就需要更好的 读写性能,以及较大的容量. 在虚拟集群中,存储(datastore)可以分为本地(local)和共享(shared)两种类型.本地存储只能被其所在的主机上的虚拟机访问,而共享存储则可以被其他主机上的虚拟机访问到.本地存储的读写性能更好,而共享

虚拟化技术(2)——存储虚拟化

存储虚拟化 随着存储的需求呈螺旋式向上增长,公司内的存储服务器和阵列都无一例外地随之成倍增长.对于这种存储管理困境的一种解决办法便是存储虚拟化.存储虚拟化可以使管理程序员将不同的存储作为单个集合的资源来进行识别.配置和管理.存储虚拟化是存储整合的一个重要组成部分,它能减少管理问题,而且能够提高存储利用率,这样可以降低新增存储的费用. 权威机构S N I A(存储网络工业协会)给出的定义 "通过将存储系统/子系统的内部功能从应用程序.计算服务器.网络资源中进行抽象.隐藏或隔离,实现独立于应用程序.

深度分析云存储中虚拟化技术构成及应用

存储领域国际权威机构SNIA(存储网络工业协会)给出了存储虚拟化(StorageVirtualization)的定义:"通过将存储系统/子系统的内部功能从应用程序.计算服务器.网络资源中进行抽象.隐藏或隔离,实现独立于应用程序.网络的存储与数据管理".存储虚拟化技术将底层存储设备进行抽象化统一管理,向服务器层屏蔽存储设备硬件的特殊性,而只保留其统一的逻辑特性,从而实现了存储系统的集中.统一.方便的管理. 与传统存储相比,虚拟化存储的优点主要体现在:磁盘利用率高,传统存储技术的磁盘利用率

混合环境下部署网络虚拟化技术需要考虑的因素

虽然SDN最终可能改变我们架构网络的方式,但在短期内,我们仍然能够在传统和虚拟技术相得益彰的混合环境中部署网络虚拟化技术.在某些情况下,企业可以使用混合交换机,这种交换机既可以传统地转发流量,也可以使用SDN指令来转发流量.需要记住的是,并不是所有OpenFlow交换机都采用传统协议,因此,企业在评估时必须了解交换机的混合能力.另一种混合方法是在旧数据中心安装一个"新补丁".在这里,用户构建一个 新的网段来支持虚拟化,并将其桥接到传统基础设施.在新虚拟化网段 经过验证后,从中学到的教训

为数据中心提效 虚拟化技术VSE

目前,企业数据中心越来越普及,企业业务应用越来越复杂,对传统的资源固定分配模式的IT基础设施提出了严重挑战.人们已经越来越清楚地看到:许多按照传统模式建立起来的IT系统存在的症结,关键不是性能不够,而是适应变化的能力不够.作为业界第一套可交付(产品化)的全面实现服务器虚拟化的产品,HP VSE(Virtual Server Environment,虚拟服务器环境)在众多数据中心的实践应用表明,虚拟化技术能集中并共享资源,实现降低成本.优化利用率的目的.目前,HP VSE正在得到大规模的普及应用.

《云安全原理与实践》——3.1 主机虚拟化技术概述

3.1 主机虚拟化技术概述 虚拟化技术经过半个多世纪的发展,已日趋成熟并逐渐得到广泛的应用,成为云计算的基础技术. 1959年,在国际信息处理大会上,著名科学家克里斯托弗(Christopher Strachey)发表了一篇名为"大型高速计算机中的时间共享"(Time Sharing in Large Fast Computers)的学术报告.在该报告中,他提出了虚拟化的基本概念,同时这篇文章也被认为是对虚拟化技术的最早的论述. 1965年,IBM公司发布IBM7044,它被认为是最早

数据中心服务器虚拟化技术介绍

提到数据中心里的虚拟化技术,当属服务器的虚拟化最为久远.服务器虚拟化技术是将传统的物理主机通过虚拟化软件,将物理主机的CPU.内存和硬盘存储空间整合成统一的逻辑资源池,再从逻辑资源池中创建几个几十甚至几百个虚拟服务器为应用提供服务,从而提高资源利用率,简化服务器管理.随着云计算技术的应用,服务器虚拟化得到了极大普及,虚拟化已经成为数据中心必备技术之一.实际上,虚拟化技术包含广泛,仅是服务器的虚拟化就已经发展出了很多分支.当然,不管这些技术如何发展,目的都是一样,就是尽可能地提升数据中心应用部署.

《VMware、Citrix和Microsoft虚拟化技术详解与应用实践》一1.1 虚拟化概述

1.1 虚拟化概述 在了解虚拟化之前,你可能会提出以下一些问题:什么是虚拟化?为什么我们需要虚拟化?虚拟化技术有哪些?虚拟化的历史由来是怎样的?怎么才能实现虚拟化技术? 1.1.1 虚拟化的定义 什么是虚拟化?在这里不可能给出一个精准的定义.虚拟化是一个广义的术语,各行各业对虚拟化的理解均不同,不同的人对虚拟化的理解也不同,所以它没有一个标准的定义.但是,无论怎样理解,虚拟化的本质都是将现有的计算机资源通过虚拟化的技术分割成若干个计算机资源,这些计算机资源相互独立.其最终目标是提高计算机的利用效

全融合网络虚拟化技术

服务器虚拟化技术 使CPU.内存.磁盘.I/O等硬件变成可以动态管理的"资源池",从而提高资源的利用率,让IT对业务的变化更具适应力. IT系统是由网络服务器存储等诸多因素组成的,局部的创新并不会带来IT系统的整体升级,于是存储也需要虚拟化,而网络也需要革新来满足IT系统整体性能升级. 一. 服务器虚拟化带来的问题 大二层技术的部署问题 将多台服务器虚拟化为一个资源池需要所有的服务器都处在同一个二层域,因此像FabricPatch.Trill.SPB等各种各样的大二层技术应运而生,但是