`
jelly_bitores
  • 浏览: 47036 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

四种方案:将OpenStack私有云部署到Hadoop MapReduce环境中

 
阅读更多
摘要:OpenStack与Hadoop被誉为继Linux之后最有可能获得巨大成功的开源项目。这二者如何结合成为更猛的新方案?业内给出两种答案:Hadoop跑在OpenStack上或OpenStack部署到Hadoop上。Steve Markey教授重点介绍了后者。

这两种答案都有企业在实践。“Hadoop跑在OpenStack上”可以参考《Project Savanna:让Hadoop运行在OpenStack之上》,“OpenStack部署到Hadoop上”则重点可查阅本文。

随着企业开始同时利用云计算和大数据技术,现在应当考虑如何将这些工具结合使用。在这种情况下,企业将实现最佳的分析处理能力,同时利用私有云的快速弹性 (rapid elasticity) 和单一租赁的特性。如何协同效用和实现部署,是本文希望解决的问题。

一些基础知识

第一是OpenStack 。作为目前最流行的开源云版本,它包括控制器、计算 (Nova)、存储 (Swift)、消息队列 (RabbitMQ) 和网络 (Quantum) 组件。图 1 提供了这些组件的一个图示(不包含 Quantum 网络组件)。

 


图 1. OpenStack 的组件 

这些组件共同提供了一个允许动态配给计算和存储资源的环境。从硬件角度看,这些服务可扩展到许多虚拟的和物理的服务器上。例如,大多数组织部署一个物理服务器作为控制器节点,部署另一个物理服务器作为计算节点。许多组织还选择将其存储环境分离到一个专用的物理服务器上,对于 OpenStack 部署而言,这意味着对 Swift 存储环境使用单独的服务器。

第二是大数据 一般可以理解为三个数据源的数据汇集:传统数据(结构化数据)、感知数据(日志数据和元数据)和社交(社交媒体)数据。大数据通常采用新的技术模式进行存储,比如非关系分布式数据库 NoSQL。共有四种非关系数据库管理此系统 (NRDBMS):基于列、关键值、图表和基于文档。这些 NRDBMS 将源数据聚集在一起,同时用 MapReduce 之类的分析程序对汇总的信息进行分析。

传统的大数据环境包括一个分析程序、一个数据存储、一个可扩展文件系统、一个工作流管理器、一个分布式排序和散列解决方案以及一个数据流编程框架。常用于商业应用程序的数据流编程框架是 Structured Query Language (SQL),对于开源应用程序,通常会使用 SQL 的替代方案,如 Apache Pig for Hadoop。在商用方面,Cloudera 提供了最稳定、最全面的解决方案之一,而 Apache Hadoop 是最流行的开源 Hadoop 版本。

第三是Apache Hadoop 。包含多种组件,包括 Hadoop Distributed File System(即 HDFS,是一种可扩展的文件系统),HBase(数据库/数据存储)、Pig、Hadoop(分析方法)和 MapReduce(分布式排序和散列)。如图 2 所示,Hadoop 任务被分解为几个节点,而 MapReduce 任务则被分解为跟踪器 (tracker)。

            图 2. HDFS/MapReduce 层的组成部分 

图 3 显示了 MapReduce 如何执行任务,它将获取输入并执行一系列分组、排序和合并操作,然后呈现经过排序和散列的输出。

图 3. 高级 MapReduce 图

图 4 演示了一个更复杂的 MapReduce 任务及其组成部分。

图 4. MapReduce 数据流图解

尽管 Hadoop MapReduce 要比传统的分析环境(如 IBM Cognos和 Satori proCube 在线分析处理)更复杂一些,但它的部署仍然具有可扩展能力和高成本效益。

全盘考虑

大数据技术和私有云环境都很有用;不过,如果将两者结合在一起,企业会获得巨大的利润。尽管结合两者会让环境变得更复杂,企业仍然可以看到将 OpenStack 私有云和 Apache Hadoop 环境结合在一起产生的显著的协同效应。如何来做会更好?

方案1. Swift+Apache Hadoop  MapReduce

在私有云环境中,常见的大数据部署模型之一是:将 OpenStack 的 Swift 存储技术部署到 Apache Hadoop MapReduce 集群从而实现处理功能。使用这种架构的优势是,企业将获得一个可扩展的存储节点,可以用该节点来处理其不断累积的数据。根据 IDC 的调查,数据年增长率已经达到 60%,该解决方案将满足不断增长的数据需求,同时允许组织同时启动一个试点项目来部署私有云。

该部署模型的最佳使用场景是企业希望通过存储池尝试使用私有云技术,同时在内部使用大数据技术。最佳实践表明企业应当先将大数据技术部署到您的生产数据仓库环境中,然后构建并配置您的私有云存储解决方案。如果将 Apache Hadoop MapReduce 技术成功融合到数据仓库环境中,并且已经正确构建并运行您的私有云存储池,那么您就可以将私有云存储数据与预调度的 Hadoop MapReduce 环境集成在一起。

方案2. Swift + Cloudera  Apache Hadoop 发行版

对于那些不愿意从头开始使用大数据的企业,可以使用 Cloudera 等解决方案供应商提供的大数据设备。Cloudera 的发行版包括 Apache Hadoop (CDH) 解决方案,它允许企业不必针对 Hadoop 的每个细微差别来招募或培训员工,因此可以在大数据方面实现更高的投资回报 (ROI)。对于那些不具备大数据或私有云技能集,希望以缓慢、渐进的方式将该技术集成到其产品组合的企业,这一点尤其吸引人。

大数据和云计算属于相对较新的技术,许多企业希望通过它们实现成本节省;不过,许多企业对于是否完全采用这些技术犹豫不决。通过利用供应商支持的大数据软件版本,企业在这方面将会更加从容,同时还可以了解如何使用这些技术来发挥自身的优势。此外,如果使用大数据软件分析大型数据集,而且可以通过私有云存储节点来管理这些数据集,那么这些企业还可以实现更高的利用率。为了最好地将这一策略集成到企业中,首先需要安装、配置和管理 CDH,以便分析企业的数据仓库环境,然后将 Swift 中存储的数据添加到需要的地方。

方案3. Swift、Nova + Apache Hadoop MapReduce

对于希望在大数据环境中实现更高程度的灵活性、可扩展性和自治性的企业,可以利用 Apache 和 OpenStack 提供的开源产品的与生俱来的能力。为此,企业需要最大限度地利用这两种技术栈,这就要求采用与前面所述的解决方案不同的思维方式来设计环境。

要获得完全可伸缩的、灵活的大数据环境,必须在一个同时提供存储和计算节点的私有云环境中运行它。为此,企业必须先构建私有云,然后添加大数据。因此,在这种情况下,必然会用到Swift、Nova 和 RabbitMQ,并控制器节点来管理和维护环境。但是,问题在于企业是否需要针对不同的系统和业务部门将环境分为若干个部分(例如,非大数据虚拟机或客户机实例)。如果企业准备完全使用私有云,那么应当添加 Quantum,从网络的角度对不同的环境进行划分(参见图 5)。

图 5. OpenStack 架构

在设置并测试了私有云环境后,可以将 Apache Hadoop 组件合并到其中。此时,Nova 实例可用于存放 NoSQL 或 SQL 数据存储(没错,它们可以共存)以及 Pig 和 MapReduce 实例;Hadoop 可以位于一个独立的非 Nova 机器上,以便提供处理功能。在不久的将来,Hadoop 有望在 Nova 实例上运行,使私有云自包含到所有 Nova 实例中。

方案4. GFS、Nova、Pig 和 MapReduce

从架构的角度看,除了使用 OpenStack 的 Swift 实现可扩展存储外,可能还有其他选择。本例使用了 Google File System (GFS)、Nova 组件和 Apache Hadoop 组件,具体来讲,使用了 Pig 和 MapReduce。该示例允许企业集中精力开发一个仅用于计算处理的私有云计算节点,同时利用 Google 的公共存储云作为数据存储。通过使用这种混合云,企业可以专注于计算处理功能的核心能力,由第三方负责实现存储。该模型可以利用其他供应商的存储解决方案,如 Amazon Simple Storage Service;但是,在使用任何外部存储之前,企业应当在内部使用可扩展的文件系统 (XFS) 来构建该解决方案,并进行相应的测试,然后再将其扩展到公共云中。此外,根据数据的敏感性,企业可能需要使用数据保护机制,比如模糊处理 (obfuscation)、解除匿名化、加密或散列。

技巧和提示

在将云计算和大数据技术并入企业环境时,一定要为这两个技术平台构建员工的技能集。当您的员工理解这些技术后,就可以组建一个实验室来测试这两个平台合并后的效果。由于包含许多不同的组件,因此在实现过程中,请务必遵循前面提到的经过验证的路径。此外,企业在尝试合并这两种模式时可能会遇到一些挫折,应当在进行若干次尝试后改用其他方法。这些方法包括设备和混合云。

障碍和陷阱

由于这些都是比较新的技术,所以大多数企业需要利用现有资源进行测试,之后再进行大量的资本支出 (CapEx)。然而,如果没有对这些技术在企业中的应用进行合理的预算和人员培训,那么试点和测试工作将会以失败告终。同样,如果缺少完整的私有云部署,企业应当首先在其中实现大数据技术,然后再实现私有云。

最后,企业需要为私有云和大数据计划制定一个战略路线图。要获得成功的部署,则需要进行更多的分析 “工作”,这有可能会拖延处理过程。为了消除这种风险,应当采用一种迭代式的项目管理方法,以分阶段的方式部署到业务部门中,通过这种方法将这些技术部署到企业中。企业需要确认如何通过应用这些新技术使公司受益,如成本节省或加强处理功能等。(感谢@程序猿张吉的分享。文/Steve Markey,编辑/郭雪梅)

关于作者:

Steve Markey 是一名顾问、副教授以及 Cloud Security Alliance (CSA) 的 Delaware Valley (Greater Philadelphia) 分会的现任主X席。他拥有多个证书和学位,在技术领域拥有超过 11 年的工作经验。Steve 经常发表有关信息安全、信息隐私、云计算、项目管理、电子发现和信息治理的演讲。

参考资料:

分享到:
评论

相关推荐

    Deploy an OpenStack private cloud to a Hadoop MapReduce environment

    ### 部署OpenStack私有云到Hadoop MapReduce环境 随着云计算和大数据技术的发展,企业正在经历深刻的变革。为了最大化投资回报并提升数据分析平台的功能性与效率,将这些新兴技术融合到现有的IT架构中变得越来越...

    基于OPENSTACK私有云平台上的HADOOP完全分布式环境应用研究.pdf

    【OpenStack私有云平台】OpenStack是一种开源的云计算管理平台,用于构建和管理私有云基础设施。它提供了丰富的服务,如计算(Nova)、存储(Cinder和Swift)、网络(Neutron)等,使得组织能够根据需求灵活部署和...

    Deploying-Hadoop-in-Private-Cloud_openstack_hadoop_Mirantis_

    本文将详细解析如何在Mirantis OpenStack私有云环境中部署Hadoop,帮助你理解这一过程中的关键知识点和技术要点。 首先,我们要了解OpenStack。OpenStack是一个开源的云计算平台,用于构建、管理和运行各种类型的...

    基于Hadoop和OpenStack的数据平台.zip

    将Hadoop部署在OpenStack上,可以充分利用云环境的弹性扩展性和资源调度能力。通过Nova,我们可以快速地创建和销毁Hadoop节点,适应数据量的变化;通过Swift或Cinder,可以为Hadoop提供弹性存储服务。同时,Neutron...

    hadoop-openstack-swifta:hadoop-openstack-swifta

    它可以嵌入到hadoop代码库的hadoop-openstack子模块中: : ,其方式与hadoop-aws s3a对s3n的增强: ://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html。 此代码库已经针对与Swift-API兼容...

    hadoop_openstack_storm_spark等视频文档书籍汇总

    OpenStack是一套开源的云计算管理平台项目,旨在提供一套解决方案来构建和管理公有云和私有云。OpenStack的核心服务包括计算(Nova)、网络(Neutron)、对象存储(Swift)、块存储(Cinder)、镜像服务(Glance)、...

    openstack-base:在 OpenStack 上全自动推出 Ambari HDP Hadoop 集群

    在OpenStack平台上自动化部署Ambari HDP Hadoop集群是一项复杂而重要的任务,涉及到多个关键技术领域。本项目的核心是利用Python脚本来实现这一自动化过程,从而简化云计算环境中的大数据基础设施搭建。 首先,...

    《OpenStack云计算基础架构平台应用》试卷试题及答案.docx

    - **OpenStack HA模式**: 主备模式和双活模式是OpenStack HA中常见的两种模式,其中双活模式可以提高系统的可用性和容错能力。 - **HA的概念**: 高可用性(HA)的目标是通过冗余设计来消除单点故障,保证服务的连续性...

    基于私有云和物理机的混合型大数据平台设计及实现.pdf

    - 在实际生产环境中,通过将关键的大数据处理任务部署在物理服务器上,而将扩展性需求较高的部分放置在私有云环境中,实现了良好的性能与成本平衡。 - 例如,在日常运营过程中,主要的数据处理工作负载由物理...

    基于云服务的Hadoop大数据平台挖掘算法及实现.docx

    通过将Hadoop部署在云环境中,用户可以利用云的弹性资源动态调整计算能力,以应对大数据量的处理需求。本章将探讨如何在云计算平台上部署和管理Hadoop集群,以实现高效的数据处理。 4.2 云服务中的Hadoop部署模式 ...

    京大学云计算与应用教程 第5讲 openstack(共97页).pdf

    在大数据和云计算领域,OpenStack为Hadoop、MapReduce等分布式处理框架提供了基础设施支持,通过OpenStack的计算服务,可以轻松地在大规模集群上部署和管理这些大数据处理工具,实现高效的数据处理和分析。...

    A cloud platform basing on hadoop 一个基于hadoop的云平台.zip

    3. 集群部署:采用虚拟化技术(如KVM或OpenStack)可以更高效地管理和调度硬件资源,实现Hadoop集群的弹性扩展。 4. 安全性:确保数据安全是云平台建设的关键。Hadoop提供身份验证、授权和审计机制,如Kerberos、...

    私有云-大数据解决方案.rar

    私有云大数据解决方案是当前企业信息化建设中的一个重要领域,它结合了云计算的高效能和大数据的深度分析能力,为企业提供了一种安全、可控的数据管理与分析平台。私有云是相对于公有云而言的,其核心特点在于由单一...

    Ostorage-在OpenStack云上运行大数据系统:问题、方法与实践.rar

    总之,《Ostorage-在OpenStack云上运行大数据系统:问题、方法与实践》这份资料将为读者提供一个全面的视角,理解在OpenStack云环境下实施大数据系统的复杂性、挑战及解决方案,对于提升运维人员的实战能力大有裨益...

    云计算第三版精品课程配套PPT课件含习题(28页)第5章 Hadoop 2.0 主流开源云架构(一).rar

    同时,Hadoop与OpenStack等开源云平台的集成,使企业能够在私有云或混合云环境中部署和管理Hadoop集群。 在学习这个章节时,你将了解到如何配置和管理Hadoop 2.0集群,如何编写MapReduce程序,以及如何利用Hadoop...

    hadoop-aware-nova-scheduler:用于虚拟 Hadoop 部署的 OpenStack Nova 调度程序低成本集成

    在云计算领域,OpenStack 是一个广泛使用的开源平台,用于构建私有云和公有云服务。它由多个组件组成,每个组件负责特定的功能,如计算、存储和网络管理。而 Nova 是 OpenStack 中的核心计算服务,负责管理和调度...

    毕业设计-IaaS与大数据平台方案设计与实施.docx

    MapReduce是Hadoop的主要计算框架,它将大规模数据处理分解为两个阶段:map(映射)和reduce(规约)。map阶段将数据分发到各个节点进行局部处理,reduce阶段再将结果聚合。这种并行计算模型使得Hadoop能够在大量...

    hadoop技术支

    MapReduce是并行处理框架,用于在分布式环境中执行计算任务。 2. HDFS原理: HDFS采用主从结构,由一个NameNode作为主节点管理元数据,多个DataNode作为从节点存储实际数据。文件被分割成块,并在多个DataNode上...

    《OpenStack云平台实战》2套期末考试卷AB卷带答案习题试卷模拟卷.docx

    - **Pig**:一种高级数据分析语言,简化了Hadoop MapReduce的复杂性。 - **Dog**:此选项不属于Hadoop的子项目。 #### 二十、Hadoop生态圈项目 **知识点1:项目功能** - **Flume**:用于收集、聚合和传输海量日志...

Global site tag (gtag.js) - Google Analytics