如何使用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)

相关推荐

  • Java静态代码分析工具的优势是什么

    技术Java静态代码分析工具的优势是什么这篇文章主要讲解了“Java静态代码分析工具的优势是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java静态代码分析工具的优

    攻略 2021年10月29日
  • VS2015安装之后如何加装Sql server2014

    技术VS2015安装之后如何加装Sql server2014这篇文章给大家分享的是有关VS2015安装之后如何加装Sql server2014的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。网上

    攻略 2021年12月4日
  • 抖音刷赞软件,实惠的刷赞软件

    技术抖音刷赞软件,实惠的刷赞软件免费刷抖音赞软件,抖音怎么刷点赞上热门?关于抖音刷赞、抖音怎么刷赞等相关问题,于是去网上输入”抖音刷赞”,哇~不搜不知道一搜吓一跳,网上出现:抖音刷赞|抖音怎么刷赞|抖音刷赞上热门|抖音快

    测评 2021年10月19日
  • html5哪个属性可以使图形垂直居中(html5水平居中属性)

    技术html5中让图片居中的是哪个属性呢这期内容当中小编将会给大家带来有关html5中让图片居中的是哪个属性呢,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。html5中让图片居中的属性

    攻略 2021年12月17日
  • Dubbo重要概念分析

    技术Dubbo重要概念分析这期内容当中小编将会给大家带来有关Dubbo重要概念分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.proxyFactory:就是为了获取一个接口的代理

    攻略 2021年11月12日
  • 怎么提高下载速度,如何让电脑下载速度变得更快

    技术怎么提高下载速度,如何让电脑下载速度变得更快如题所述如何让下载速度变快怎么提高下载速度?在电脑日常的使用过程中,下载文件,往往会遇到下载缓慢,或突然中断的现象
    怎么怎样才能提高电脑的下载速度?
    首先,最基本的就是,网

    生活 2021年10月28日