百度:云计算(cloud computing)

        是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。因此,云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需求进行运算。

        在当今的年代,数据是一个炙手可热的词,在我们的网速,设备性能,价格种种方面的影响下,互联网成了这个社会的主旋律,在今年的尤其火热的是互联网+的概念,农业,教育等传统行业,纷纷加快了互联网的进程,尤其是云的概念被提到莫名的高度后,大众对于网络的需求,增长迅猛,随之而来的就是网络使用基础的提升,数据流量增大,用户需求的多样化,多变性对当下的架构设计提出了严峻的考验,承载着这一切,Hadoop摆在我们面前!这个开源产品的成功,将会是我们提升用户粘度,快速响应用户需求的一大技术支撑!


概览

Hadoop,用一句话概括,就是前人用java写的一个软件,这个软件实现了多台计算机联合进行静态简单的计算,它说白了就是一个分解的问题,现在看看我画的hadoop原理图:


      这就是我理解的云计算,就是联合N台机器一起完成某个计算,当然随着业务复杂度的提升,对系统的要求肯定会越来越高,那么系统的复杂度也会越来越高,这样模块化开发肯定就提上了日程,所以就分化除了几个模块,也是为了解决不同的问题,下面就让我们一起研究研究这些模块。

相关概念

MapReduce:

        不难总结,上图中的分发计算任务与合并计算任务就是这个过程,Map就是分发计算任务,Reduce就是合并计算任务,对应到图中Map是第三步,Reduce是第四步,这个概念不仅仅在hadoop中有,这是个解决问题的思路,在算法中,这就是典型的“分治法”的应用,将大问题分解成小问题,分解到可解的地步就行。


HDFS:

       这个概念首先明确,它是个文件系统,好像咱们接触到了windows与linux一样,他们都有自己的文件系统,我们的拷贝,剪切等操作,就是建立在文件系统中,而在这里,我们更容易总结出,这个文件系统的特点就是分布式,就是我们可以由N台机器组成一个大的文件系统,这样我们管理文件,就是在N台机器中操作,不再受限于一台机器。


我们看看Hadoop的架构图:


大家观察到,以上咱们介绍的两个概念就是Hadoop的核心技术,解决了这两个,其他的就都是辅助性的工具,像pig,hive等都是对其中某一个模块的封装!现在再给大家介绍几个概念,让大家更好地理解什么是hadoop做的事情。

集群

        说的透彻写,集群就是在一个软件的系统上,让多台机器协同工作,完成N个任务,而这种技术在以前的解决方案,就是咱们多搭建几台机器,一样的软件,然后认为处理这些计算的分配!


分布式系统

        这个概念听起来好像很高大上,其实,这样的技术,是咱们前人,在原有技术的基础上进行的封装,在计算机内部,总是各种编码与解码,而我们定义一个统一的编码解码格式,那么这几个计算机是不是就能一起工作了呢,举个例子,我们知道在抗战时期,军队之间发消息,要靠电报,而为了安全,电报总要加密,大家密码统一,就可以相互通信,协同作战,在计算机内也是这样。


总结:

      在计算机咱们这个领域,我们看问题,永远不要想太难这个词,因为计算机无外乎0和1,其他的就是对其的编码解码,我们建立了很多基础的代码,封装了枯燥的0和1,然后在其之上,开发了开发程序的软件,而又在这个基础上我们有了各种各样的软件,hadoop就是其中一员,hadoop是中思想的实现,我们了解了,知道了,用了几次,就是成功。我们的工作,是将这种思想接纳过来,为自己服务!这恰恰就是在小学中学到的一门课,叫“拿来主义”,计算机归根还是生活的思。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐