文章目录
  1. 1. hadoop 是什么?
  2. 2. hadoop 是如何运作的?
  3. 3. hadoop 解决了什么问题?

用通俗易懂的方式来介绍hadoop

hadoop 是什么?

宏观上的hadoop是一组数据应用的统称,有些类似j2ee。因此有人把hadoop比作一个“生态圈”。如果说j2ee是面向web应用开发的一套技术的总称,那么hadoop就是面向数据开发的另一套技术的总称了。

那么微观上的hadoop是什么呢?我们来一起看一下github上的hadoop (注:这是此时最新的trunk,3.0.0-SNAPSHOT)

由此可见,它是一个多工程的依赖的maven工程。(从hadoop源码的进化过程来看,可以看到最初是ant,后面才转为maven)

hadoop 是如何运作的?

hadoop是用java语言开发的,因此是基于jvm的一个工程,因此要运行hadoop,首先要先安装java。

hadoop一般是运行在linux机器上,因此需要在linux机上安装java及hadoop。

下一篇: install-hadoop-on-local 将会简单安装一个单机伪分布式的hadoop,用于学习之用

hadoop 解决了什么问题?

hadoop几乎是大数据的代名词了,那么我们需要先了解什么是大数据?

大数据 其实是指的,当数据处理超过了机器所能承受的极限时,这个数据对你来说,就可以称之为大数据
因为数据大,例如几十PB的数据,放到什么机器上都搞不定,因此符合大数据的范畴,也就给我们造成了大数据==数据大 的感觉。

因此 横向扩展 的设计代替了 纵向扩展

传统的纵向,指的是当业务发展后,现有的机器满足不了现有的业务时,人们选择买更好的CPU,更多的硬盘、内存等,添加在这台机器上,或者替换成更好的小型机。因此当业务再次发展时,任何机器都不能承受,才产生了横向的设计。

人们更愿意用10台较差的机器代替1台较好的机器,而且更节约资金。

因此分治的思想,在hadoop上体现了。并行计算在多台机器上,来处理大数据。
那么回到问题,这样的hadoop部署方案,适合于什么场景?

高吞吐、高延迟、批处理