OpenStack 和 Hadoop 的区别是什么?

【整理自知乎】

openstack1台电脑分N台用,通过虚拟化的方式提供弹性灵活高利用率的计算能力。
hadoopN台电脑当1台用,通过分布式文件系统提供强大的数据处理能力。

 

 

Openstack是把大机器虚拟成很多小机器从而达到大的分成小的来用,大大提高资源使用率。

Hadoop是把小机器合起来用,用于解决单台大机器无法解决的计算和存储等问题。

 

 

openstackiaas的,更底层的,属于OS层面;  而hadooppaas的,比较上层

hadoop可以运行在openstack之上。

 

 

openstack仿照的Amazon的云,hadoop仿照的是Google的云

 

openstack注重的是虚拟化/虚拟机及其配套的服务,

hadoop注重的是海量的数据分析和处理

 

 

openstack是管理虚拟机的,比如xenkvm等。它所谓的云就是一堆的虚拟机。

 

hadoop是负责分布式计算和分布式存储。就是把一个执行任务分开,放到不同的节点(物理机)去跑,最后汇总。

 

openstack是运行在集群上的虚拟机管理系统。Hadoop是并行运算框架的实现。

 

OpenStackIaaS(基础设施即服务)虚拟机管理软件,让任何人都可以自行建立和提供云端运算服务。

hadoop是一个分布式文件系统+分布式计算平台的开源方案,侧重于hdfs云存储与mapreduce云数据分析等方面

 

OpenStack 涉及的知识领域极广

可以说涵盖了IT基础设施的所有范围。计算、存储、网络、虚拟化、高可用、安全、灾备。。。。。。无所不包。即便是像CloudMan这种每天都在这个领域工作的人也感觉压力颇大

 

OpenStack 是一个平台,不是一个具体的实施方案

OpenStack的各个组件都采用Driver的架构,支持各种具体的实现技术。比如 OpenStack 的存储服务Cinder只定义了上层抽象API,具体的实现交给下面的各种Driver,比如基于LVMiSCSI DriverEMCIBM等商业存储产品的Driver,或者是开源的分布式存储软件,比如CephGlusterFSDriver

 

正是因为这种架构上的灵活性,使得初学者在学习OpenStack的时候不会像学习其他具体软件产品那样容易上手。

 

OpenStack 本身是一个分布式系统

大多数搞 IT 的对分布式计算都不会太熟悉。直接冲进来会被 OpenStack 繁多的组件以及他们之间的交互方式搞得云里雾里。

 

OpenStack 主要目的是做一整套的云计算基础构架。包括 云计算(Compute), 网络(Network),对象存贮(Object Store),镜像文件存储 (Image),身份认证(Authentication)BlockStorage 以及 前端UI

 

OpenStack的每个模块都对外提供API,可以独立供云用户调用,在OpenStack内部,每个模块之间的相互调用也是用这些API.

 

The OpenStack project as a whole is designed to "deliver(ing) a massively scalable cloud operating system."

 

Hadoop 是一个分布式数据库。举个例子:OpenStack Object Store 模块可以选择用Hadoop来支持。如果把 Openstack 比作WIndows的话,Hadoop 相当于Sql Server

 

链接:http://www.zhihu.com/question/20475470/answer/19934931

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。