说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

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

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

随着企业开始同时利用云计算和大数据技术,现在应当考虑如何将这些工具结合使用。在这种情况下,企业将实现最佳的分析处理能力,同时利用私有云的快速弹性 (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) 分会的现任主席。他拥有多个证书和学位,在技术领域拥有超过 11 年的工作经验。Steve 经常发表有关信息安全、信息隐私、云计算、项目管理、电子发现和信息治理的演讲。

参考资料:

  • 查看 OpenStack 的 Starter Guide,获得有关 OpenStack 架构的更多信息。

  • 查看 Michael Noll 的 博客文章,了解有关 HDFS/MapReduce 介绍的更多信息。

  • 查看 Ricky Ho 的 Hadoop MapReduce Architecture,获得有关 Hadoop MapReduce 的更多信息。

  • 查看 Christopher Olston 的 Yahoo! Hadoop Explanation,获得有关使用 OpenStack 和 Apache 的 Hadoop MapReduce 的更多信息。

  • 查看 Borthakur 和 Shoa 的 Hadoop and Hive Development at Facebook,获得有关 Apache Hadoop 部署的更多信息。 
  • 原文链接。
三款热门入门级在线编程教程对比 微软modern.IE:网站兼容性测试利器 Localytics:AngularJS代替Backbone 代码减少一半 史上增长最快的SaaS服务Optimizely:13亿访客,10万次测试 IDF上的云计算故事 移动周报:百万年薪、微信疑云,老罗小马本周很忙 一个创业失败者的自述:我是如何搞砸一款产品 收入百万美元:一个放弃上大学的程序员 Cocos2D配Box2D:逆天小白程序员作iOS游戏 招聘移动开发,老板必问的10个问题 黑客用智能手机劫持和控制民航飞机 几小时即可使互联网瘫痪的黑客 现已加入谷歌 Tsar开源:淘宝内部大量使用的系统监控工具 五款超实用的开源SVG工具 微信收费事件背后被广泛忽略的技术细节 UIDesigner 3.0架构设计总结 黑客怒了:政府花930万美金仅做一款App Email服务迎来“第二春” 未来将更加个性化 贯穿应用开发始终的八大陷阱 微评微软也推智能手表:是追求未来,还只是跟随? Firefox OS今年6月在5国首发 不含美国市场 8086/8088汇编指令手册 下一个被黑客攻击的对象—无线路由器 Windows Blue开始按钮或将回归,你怎么看? Evernote推孵化器 不占股权 基于C++和Lua的移动游戏引擎Leadwerks 3发布 苹果秘密测试iOS 7与iPhone 6 或将6月发布 酷6 CTO 陆坚:请先信任你的程序员 从电信联手i-Free,看运营商渠道的加速整合 “Animory”开发者分享HTML5游戏开发经验 Appflood SDK:连接中国与海外App流量交互平台 下面这样类型转换,居然可行, 我下面的问题解决了 ORACLE统计问题 腊肉是月老啊,单身的哥哥们找腊肉拉红线啊! 新闻搜索 using namespace std; 微星845 Ultra-C 支持P4赛扬2.0的吗? 请问哪里有关于cc的比较好的文档资料. 水晶报表的问题!!!!!!!!!!!! 关闭Jbuilder9时,会弹出微软拼音输入法的关于信息框,如何解决? TreeView的删除问题/// 怎样在delphi里使用windows定义的结构体 问个问题 顺便散分 sub main问题 郁闷,一夜起来信誉分掉了一大截,散分 请问UNIX下makefile 是怎么一回事 我在学习C#,不过基础不好,很吃力!中秋快乐! 如何防止文件被访问?谢谢! 今年中秋我爸收了一大堆礼物,价值估计不下于20万(我爸是税务局长),呵呵,太高兴了!再散点分给大家!今年中秋我爸收了一大堆礼物, ASP.NET有没有类似javascript中的window.confirm( )这样的方法,弹出对话框提示是否确认? C#builder里的CaliberRM有谁用过? 学ASP学的我晕了,大家给条路!!! 简单问题求助~~~~~~~~~~~~~~~ sql7.0到sql2000升级 图像存储及传输的计算问题? 为什么不能共享? 大家讲讲TreeMap的使用,回答好的立刻给100分!! 请问哪里有免费的或破解的查木马软件下载?? 在ASP.NET中能控制输入法吗?在.NET应用程序中有一INPUTLANGUAGE类,可以控制,在ASP.NET中能实现吗? 有谁做过用moden拨号连接,访问另一台pc,建立连接 如何让bean中的“输出”定位到网页中的特定位置? 请问以下这个项目如何设计?关于图形数据库系统的 触发器的大问题,请各位高手支招: CEO是个什么职务?有多大管理权限? 一个看似简单.....其实非常难的问题....小妹初学web开发. 为什么不能共享??? 100分求:哪儿有《深入理解linux内核》可供下哉! 工作机会 JBUILDER是否帶有TomCat﹐如何安裝使用﹖ 这里有没有用过realbasic的朋友 为什么不能共享??? 报表怎么样进行总计,一个QRexpr的问题? 请推荐 求救,如何用实现在同一个局域网内另外一台电脑用ADO访问服务器的ACCESS文件,马上给分 请问高手,以下问题如何解决? 在java中怎么把日期0204改成2002-04 在自己建立的文件夹下建立文件,可怎么都不对头!!SOS!! 数据窗口打印问题,多多帮忙!!!!!!!!!!!!!!!!!!!!!!!!!! 在SQL中写个函数,急 我刚学编程没有多久,发现在数据库很重要,但不知道怎样一个用一个系统方法去学习?请各们前辈能给我以指点。非常感谢!!! 我用ADO做了一个数据库应用,数据库是ACCESSXP,ODBC JET4。0?有一个问题 国内最基层的国家行政机关有哪些? 逃不出的手掌心最早来自于什么典故?是西游记吗?但我觉得不可能起始于《西游记》成书的明代.还是说,以前有过什么别的神话故事的版本?大家谁能说清楚点啊 “々”这个字算是字吗 如何起源 有什么典故 怎么发音 怎么打出来呢 30字左右的美句,要优美一点的,有诗意;80字的典故,也就是成语的来历、故事.稍微多一点,几十句吧,要优美的,有诗意的;典故就是成语故事,不要太多,也不能太少!只要故事,不要出处什么的@谢 “王顾左右而言他”的典故. 范张鸡黍 典故出至那里? 我想知道.一个女字加个卡字读什么 怎么打出来? 清平月六盘山它在六盘山上在哪儿刻着? 《清平月·六盘山》谁有谢谢提供! 铿字怎么读? 我国国家行政机关实行什么制 中纪委监察部特邀40名监察员 包括各沙特一监狱发生暴动致3人受伤大马士革郊区炸弹爆炸至少10人死亡人民日报曝陆军第12集团军一战士训练中国每年新增癌症患者占全球20% 多北京出租车“小费”软件流行 高峰时乘媒体揭秘美国监听手段:大使馆屋顶材料陕西宁陕副县长涉嫌携妻公款出国 被纪汤加附近海域发生6.4级地震法国外交部证实两名法记者在马里被杀害尼日利亚南部发生踩踏事故致数十人死亡网友看周鸿祎箭穿奇酷手机:像把”孩子ABCmouse面向中国用户推出全新长城开发:新旧主业均进入业绩释放期 美洲杯金靴赔率:塔尔德利居巴西队内第你以为你在创业,但其实你可能只是在做【阿里巴巴+丝绸之路】新疆特色农产品史上罕见!爆阿里1亿重奖钉钉,人均奖《中国历史纪年表》解惑水空两栖 Splash Drone防宜安科技互动平台承认进入特斯拉产业链姜超:零利率是长期趋势(墙裂推荐)叱咤风云绮梦璇玑劫仙风云初落一片伤心画不成火中金莲至尊无赖官途道友请留步魔神法师都市仙火旅顺旅游南澳岛旅游镇远旅游福州旅游漠河旅游西宁旅游纳木措旅游嵊泗旅游丹霞山旅游嵩山旅游若尔盖旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘