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

相关推荐

  • leetode24两两交换链表中的节点

    技术leetode24两两交换链表中的节点 leetode24_两两交换链表中的节点一、题目二、算法分析
    我主要想着通过while循环自己交换,前面两个单独考虑,后面的都是一样的处理。
    因为前面的两个需

    礼包 2021年11月9日
  • 落枕吃什么药好得快,“缠腰蛇”怎么治好得快

    技术落枕吃什么药好得快,“缠腰蛇”怎么治好得快缠腰蛇学名叫带状疱疹落枕吃什么药好得快。带状疱疹是由水痘-带状疱疹病毒引起的,初次感染得的是水痘,之后病毒会潜伏在神经根内,多年以后,当免疫力低下的时候病毒会再次被激活,这时

    生活 2021年10月30日
  • 纸牌游戏程序设计(用c语言做卡牌游戏教程)

    技术怎样用C语言实现纸牌游戏今天就跟大家聊聊有关怎样用C语言实现纸牌游戏,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 基本要求一副没有花牌(J、Q、K、A、

    攻略 2021年12月18日
  • Hadoop基础知识有哪些

    技术Hadoop基础知识有哪些这篇文章主要为大家展示了“Hadoop基础知识有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Hadoop基础知识有哪些”这篇文章吧。Had

    攻略 2021年12月9日
  • 误删数据库数据后的处理方法有哪些

    技术误删数据库数据后的处理方法有哪些本篇内容介绍了“误删数据库数据后的处理方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够

    攻略 2021年11月5日
  • Elasticsearch-1

    技术Elasticsearch-1 Elasticsearch-11-今日内容初识 ElasticSearch安装 ElasticSearchElasticSearch 核心概念操作 ElasticSe

    礼包 2021年11月24日