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

相关推荐

  • 美容医院排行,中国排名前十的美容院有哪些

    技术美容医院排行,中国排名前十的美容院有哪些御尚坊颜连锁美容院、梵玛西美容品牌、北京御蜂坊·蜂SPA美容、兰黛之谜、娇悦诗、百莲凯、克丽缇娜、雅致轩、蔓菲国际、美莱。美容行业是最有前景的八大行业之一美容医院排行,目前国内

    生活 2021年10月31日
  • 洛谷 P5858 「SWTR-03」Golden Sword

    技术洛谷 P5858 「SWTR-03」Golden Sword 洛谷 P5858 「SWTR-03」Golden Sword题目链接:
    https://www.luogu.com.cn/problem

    礼包 2021年11月7日
  • 如何选择适合自己的编程语言

    技术如何选择适合自己的编程语言这篇文章主要讲解了“如何选择适合自己的编程语言”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何选择适合自己的编程语言”吧!第十名:C语言C

    攻略 2021年10月25日
  • debian如何安装mysql

    技术debian如何安装mysql这篇文章主要介绍了debian如何安装mysql,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。debian安装mysql

    攻略 2021年11月26日
  • 缓存层与数据库层数据同步

    技术缓存层与数据库层数据同步 缓存层与数据库层数据同步缓存层与数据库层数据同步问题
    在实际的业务开发中,为了避免大量请求直接操作数据库,我们会用redis做一个缓存层,用户的数据库请求先在redis中查

    礼包 2021年11月1日
  • 3元一万粉抖音在线购买,抖音前期要不要刷粉?

    技术3元一万粉抖音在线购买,抖音前期要不要刷粉?抖音直播功能的上线,是广大内容创作者们的福音。虽然大多数人赶不上电商人口发展红利期,但是新的风口为我们打开了机会。
    现在要论移动互联网哪种形式抢占用户时间最多?当然要归短视

    测评 2021年11月9日