运用Hadoop能否搭建完整的云计算平台?
Apache Hadoop 是一个用java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,它可以让应用程序支持上千个节点和PB级别的数据。
Hadoop并不完全代表云计算,所以,要用Hadoop搭建完整的云计算平台,答案是不够。我们常说云计算,实际上还是通过计算机的大规模或者说海量处理来为生活中各式各样的人和各行各业服务——所以,核心在“服务”。关于服务,展开来就是常用的那3种(也是事实上的标准):SaaS,PaaS,IaaS。对云计算来说,公有和私有,虚拟和存储,这其实是相对讨论的核心。
回头说Hadoop。在Google三大论文的直接刺激下,Hadoop社区兴起,而在众多的开源实现中,Hadoop(主项目)可以说是所有已知云计算方面开源项目的一个Top项目。
云计算中有哪些构件?发展到目前的技术与规模,并没有一个确切的定论,今天的说的话明天可能就不一样了。但对Hadoop来说,实现了的部分,就是大部分企业在不断发展中所遇到的大部分问题。直接上图:

从整体生态系统的角度,从底层存储,到中间的计算模型和框架,再到上层的逻辑处理和流、显示,都有相应开源的实现。这就是你说的构件了。
包括我们看到的Hadoop2.0中,引入的新的处理框架,Spark,Storm,YARN(取代MR),都是Hadoop生态系统的完善与实现。
Hadoop实现的是在简易硬件的基础上进行尽量高可用性海量计算与处理的中上层模型。Hadoop处理了存储(也只是一部分),虚拟化是没有涉及的,而底层硬件Hadoop也是不涉及的,不管是Hadoop还是其他的项目,只是在软件的层面想通过纵向或者横向的拓展解决所有的问题是不现实的。Hadoop在硬件这方面,只是在实现中预留或者接入硬件特性,也就是在虚拟化这方面Hadoop只是个“APP”,不是“始作俑者”(用词不当了)。
那么,完整的云计算平台呢?
按照企业级来说,是要看具体的企业方向和企业类型的,包括IBM和VMware都有提供不同的解决方案。大致上一定是由单点–>集群–>多层(准分布式)–>硬件–>分布式(地域分布)来解决的。具体到Hadoop体系的技术,直接去对应上图就好了。

从云计算这个概念出现到今天,资料可以说“浩如烟海”了,但很多资料只是互相复制黏贴,并没有说到云计算的核心。我想提出的一个观点是,完整的云计算平台,依赖的是业务,提供的是存储与支持。
没有业务需求而是照搬网上的资料或者自认为“活用”了某些技术,都可能只是“娱人娱己”。我们看一下互联网负载均衡技术是如何发展的就就更容易理解云计算:
客户端缓存–>CDN缓存–>Apache&Nginx静态页面缓存–>php和Java动态内存–>Memcache&Other Nosql–>MySQL&Oracle–>HDFS&Other Big Table
从技术的角度看,所有问题解决起来都是层次化的(大家肯定都有写Demo吧),都是根据不同的需求引入不同的技术,在单层单点乃至集群都无法解决问题的时候,新的计算框架,云计算与网格计算乃至动画需要的大规模渲染都在需要的时候顺理成章的引入。总之,完整的云计算平台,对于不同的公司业务都是不同的,拿腾讯来说,平台的组件多如牛毛,“平台”只是提供最基础的服务:存储与支持,其他的都需要业务根据自身的特点在其上进行构建(相信大公司都是有自己的完整方案的,这里我就不能再说了……),至于提高什么样级别的这种“服务”,就要看公司的业务规模,需要支撑的体系,乃至公司的决策战略了等等。
运用Hadoop能否搭建完整的云计算平台?的更多相关文章
- 云计算平台管理的三大利器Nagios、Ganglia和Splunk
综合利用Nagios.Ganglia和Splunk搭建起的云计算平台监控体系,具备错误报警.性能调优.问题追踪和自动生成运维报表的功能.有了这套系统,就可轻松管理Hadoop/HBase云计算平台. ...
- OpenStack云计算平台框架
概: OpenStack是包含很多独立组件的一个云计算平台框架.在安装组件前,需要先将框架搭建出来,才能向其中放置组件. 搭建open stack云计算平台框架 一.安装open stack云计算平 ...
- 云计算平台简介(App Engine)
云计算平台简介(App Engine) 1 简介 App Engine: 应用程序引擎,是托管网络应用程序的云计算平台. 1.1 什么是云 云计算通常简称为“云”,是一种通过 Inter ...
- 转 史上最详细的Hadoop环境搭建
GitChat 作者:鸣宇淳 原文:史上最详细的Hadoop环境搭建 关注公众号:GitChat 技术杂谈,一本正经的讲技术 [不要错过文末活动哦] 前言 Hadoop在大数据技术体系中的地位至关重要 ...
- 深入浅出OpenStack云计算平台管理(nova-compute/network)
一.本课程是怎么样的一门课程(全面介绍) 1.1. 课程的背景 OpenStack是 一个由Rackspace发起.全球开发者共同参与的开源项目,旨在打造易于部署 ...
- 【充分利用你的Azure】将Azure用作云计算平台(1)
本文将围绕几个步骤来讲. 因为本人是MSP,微软送了150刀的额度给我随便使用.这篇文章是要讲将Azure用作云计算平台,对于我来说,我是做机器学习的,那么Azure就要有机器学习的平台. 本文的目的 ...
- 如何用MoveIt快速搭建机器人运动规划平台?
MoveIt = RobotGo,翻译成中文就是“机器人,走你!”所以,MoveIt的主要就是一款致力于让机器人能够自主运动及其相关技术的软件,它的所有模块都是围绕着运动规划的实现而设计的. 两个月前 ...
- ELK搭建实时日志分析平台之一ElasticSearch搭建
文:铁乐与猫 系统:CentOS Linux release 7.3.1611 (Core) 注:我这里为测试和实验方便,ELK整套都装在同一台服务器环境中了,生产环境的话,可以分开搭建在不同的服务器 ...
- Hadoop,大数据,云计算三者之间的关系
大数据和云计算是何关系?关于大数据和云计算的关系人们通常会有误解.而且也会把它们混起来说,分别做一句话直白解释就是:云计算就是硬件资源的虚拟化;大数据就是海量数据的高效处理.大数据.hadoop及云计 ...
随机推荐
- Redis学习笔记(4)—— Jedis入门
一.Jedis介绍 Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如Java.C.C#.C++.php.Node.js.Go等. 在官方网站里列的一些Java客户端,有jedi ...
- ftp 添加用户及修改用户目录
添加用户 : useradd 用户名 -s /sbin/nologin //限定用户test不能telnet,只能ftp; usermod -s /sbin/bash 用户名 //用户恢复正常 ;该账 ...
- tomcat+nginx+memcache
tomcat安装 tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/ cd /usr/local/ ln -s jdk1.7.0_79/ java ]# ...
- Linux进程控制理论及几种常见进程间通信机制
1. Linux进程控制理论 ① 进程是一个具有一定独立功能的程序的一次运行活动(动态性.并发性.独立性.异步性). 进程的四要素: (1)有一段程序供其执行(不一定是一个进程所专有的),就像一场戏必 ...
- python3 发送QQ邮件
from email.header import Headerfrom email.mime.text import MIMETextfrom smtplib import SMTP_SSL emai ...
- 绿豆蛙的归宿(Java)
Description 随着新版百度空间的上线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿. 给出一个有向无环图,起点为1终点为N,每条边都有一个长度,并且从起点出发能够到达所有的点,所有的点 ...
- strcpy/strlen/strcat/strcmp的实现
一.字符串拷贝strcpy 函数strcpy的原型是char* strcpy(char* des , const char* src),des 和 src 所指内存区域不可以重叠且 des 必须有足够 ...
- mysql 不能插入中文记录
问题: # ERR: Incorrect string value: '\xE5\xAD\x9F\xE5\xBB\xBA...' for column 'chinese_name' at row 1 ...
- jenkins对测试脚本的构建步骤
使用Jenkins定时执行脚本 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,所以可用于定时执行python脚本. 环境准备:jdk1.7及以上+Jenkins[+tom ...
- Numpy的那些事儿
2 NumPy-快速处理数据 标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.这样为了保存一个简单的[1, ...