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

相关推荐

  • Redis个实现附近人功能

    技术Redis个实现附近人功能Redis个实现附近人功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。01Redis的Geo最近在写实现附近人的这个功能,在

    攻略 2021年11月15日
  • jquery如何获取tr里面有几个td

    技术jquery如何获取tr里面有几个td这篇文章主要介绍jquery如何获取tr里面有几个td,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! jquery获取tr里面

    攻略 2021年11月17日
  • java如何使用java swing(swing 怎么启动一个后台线程)

    技术如何解析Swing线程的内容这篇文章将为大家详细讲解有关如何解析Swing线程的内容,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一. 事件1.事件来源:本地系统,应

    攻略 2021年12月18日
  • oracle中dump logfile方法有哪些

    技术oracle中dump logfile方法有哪些这篇文章将为大家详细讲解有关oracle中dump logfile方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。dump

    攻略 2021年11月11日
  • 如何搭建Fabric2.0环境

    技术如何搭建Fabric2.0环境小编给大家分享一下如何搭建Fabric2.0环境,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.1 环境资

    攻略 2021年11月19日
  • 如何租用香港服务器更便宜

    技术如何租用香港服务器更便宜由于每个网站都会有独特的硬件配置需求需求。而不同类型的服务器需要的硬件配置的价格也是不一样的,出于这个原因,对于不同类型的网站所有者,都没有所谓最便宜的的香港服务器。作为网站多有者在租用服务器

    礼包 2021年10月19日