如何使用Hadoop进行分布式并行编程

技术如何使用Hadoop进行分布式并行编程小编给大家分享一下如何使用Hadoop进行分布式并行编程,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧

边肖将与您分享如何使用Hadoop进行分布式并行编程。相信大部分人都不太了解,所以分享这篇文章给大家参考。希望你看完这篇文章会有很多收获。我们一起来看看吧!

用Hadoop进行分布式并行编程

Hadoop简介

Hadoop是一个开源的分布式并行编程框架,可以在大规模集群上运行。因为分布式存储对于分布式编程来说是必不可少的,所以这个框架还包括一个分布式文件系统HDFS。

或许到目前为止,Hadoop还没有那么知名,它的* * *版本号只有0.16,距离1.0似乎还有很长的路要走。但说到Hadoop的另外两个开源项目Nutch和Lucene(创始人都是DougCutting),绝对是大名鼎鼎。Lucene是由Java开发的开源高性能全文搜索工具包。它不是一个完整的应用程序,而是一套简单易用的API。全世界有无数的软件系统。网站已经实现了基于Lucene的全文搜索功能。后来,DougCutting创建了** *开源Web搜索引擎(http://www。Nutch.org)Nutch,增加了web爬虫和一些Web相关功能,一些分析各种文档格式的插件等。在Lucene的基础上,nutch还包括了一个分布式文件系统用于存储。在Nutch0.8.0之后,DougCutting将Nutch中的分布式文件系统和实现MapReduce算法的代码分离,形成了一个新的开源项目Hadoop。Nutch也已经发展成为基于Lucene全文搜索和Hadoop分布式计算平台的开源搜索引擎。

基于Hadoop,您可以轻松编写能够处理海量数据的分布式并行程序,并在由数百个节点组成的大规模计算机集群上运行。从目前的情况来看,Hadoop注定会有辉煌的未来:‘云计算’是目前比较热门的技术名词,全球各大IT公司都在投资和推广这种新一代的计算模式,而Hadoop作为重要的基础软件被几家大公司在其‘云计算’环境中使用,比如3360雅虎就在利用Hadoop开源平台的力量对抗谷歌。除了资助Hadoop开发团队,我们还在开发基于Hadoop的开源项目Pig,这是一个专注于海洋数据集分析的分布式计算程序。亚马逊推出了基于Hadoop的亚马逊S3 (Amazon Simple Storage Service),提供可靠、快速、可扩展的网络存储服务,以及商业云计算平台Amazon 2(Amazon Elastic ComputeCloud)。Hadoop也是IBM云计算项目——“蓝云项目”中重要的基础软件。谷歌正在与IBM合作,推广基于Hadoop的云计算。

满足编程模式的变化

在摩尔定律的影响下,程序员根本不用考虑电脑的性能跟不上软件的发展,因为每隔18个月左右,CPU的主频就会翻倍,性能也会翻倍,软件完全可以享受免费的性能提升而不需要任何改动。然而,随着晶体管电路逐渐接近物理性能极限,摩尔定律在2005年左右开始失效,人类再也不能指望单个CPU的速度每18个月翻一番,为我们提供越来越快的计算性能。英特尔、AMD、IBM等芯片厂商已经开始从多核角度挖掘CPU的性能潜力。随着多核时代和互联网时代的到来,软件编程方法将发生重大变化。基于多核的多线程并发编程和基于大规模计算机集群的分布式并行编程是未来提高软件性能的主要途径。

很多人认为编程模式的这种巨大变化会带来软件并发危机,因为我们传统的软件模式基本上是单指令单数据流的顺序执行,符合人类的思维习惯,但与并发和并行编程不兼容。基于集群的分布式并行编程可以使软件和数据同时在连接成网络的多台计算机上运行,这里的每台计算机都可以是一台普通的PC。这种分布式并行环境的*** *优势在于,很容易通过增加计算机来扩展新的计算节点,从而获得令人难以置信的海量计算能力,同时具有相当强的容错能力,多个计算节点的故障不会影响正常计算和结果的正确性。谷歌就是这么做的。他们使用了一个名为MapReduce的并行编程模型进行分布式并行编程,该模型运行在一个名为GFS(谷歌文件系统)的分布式文件系统上,为全球数亿用户提供搜索服务。

Hadoop实现了谷歌的MapReduce编程模型,提供了简单易用的编程接口,还提供了自己的分布式文件系统HDFS。与谷歌不同,Hadoop是开源的,任何人都可以使用这个框架进行并行编程。如果说分布式并行编程的难度足以让普通程序员望而生畏,那么开源Hadoop的出现则大大降低了它的门槛。看完这篇文章,你会发现基于Hadoop的编程非常简单,你可以在没有任何并行开发经验的情况下轻松开发分布式并行程序,并让它们难以置信地同时运行在数百台机器上,然后在短时间内完成海量数据的计算。你可能认为你不可能有数百台机器来运行你的并行程序。事实上,随着‘云计算’的普及,任何人都可以轻松获得如此海量的计算能力。

以上就是《如何使用Hadoop进行分布式并行编程》一文的全部内容。感谢您的阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。想了解更多知识,请关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/133540.html

(0)

相关推荐

  • 博士今义,“博士”一词的古今异义怎么讲

    技术博士今义,“博士”一词的古今异义怎么讲博士博士今义,古义为官名。秦汉时是掌管书籍文典、通晓史事的官职。 今义为学术上专通一经或精通一艺、从事教授生徒的官职。如明代初期,朱允炆曾封方孝孺为“文学博士”等。 “博士”最早

    生活 2021年10月25日
  • 面向对象设计原则之迪米特法则

    技术面向对象设计原则之迪米特法则 面向对象设计原则之迪米特法则转载来自:https://blog.csdn.net/lovelion/article/details/7563445
    迪米特法则来自于19

    礼包 2021年11月5日
  • springboot用druid配置多数据源(springboot数据库连接池实现)

    技术springboot如何集成druid数据库连接池这篇文章将为大家详细讲解有关springboot如何集成druid数据库连接池,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.配

    攻略 2021年12月22日
  • 哪些前端组件库可以让你放弃jQuery UI

    技术哪些前端组件库可以让你放弃jQuery UI这篇文章给大家介绍哪些前端组件库可以让你放弃jQuery UI,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在建立Web应用时,通常都需要用到一些有用

    攻略 2021年11月16日
  • mysql数据库优化的步骤是怎样的

    技术mysql数据库优化的步骤是怎样的这期内容当中小编将会给大家带来有关mysql数据库优化的步骤是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。mysql数据库优化的步骤1:磁

    攻略 2021年11月16日
  • 质量摩尔浓度公式,溶质溶液浓度计算公式字母

    技术质量摩尔浓度公式,溶质溶液浓度计算公式字母溶液浓度的计算公式有溶液的质量百分比浓度=溶质质量/溶液质量×100%;摩尔浓度(mol/L)=溶质摩尔数/溶液体积(升);当量浓度=溶质的克当量数/溶液体积(升);质量-体

    生活 2021年10月22日