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能否搭建完整的云计算平台?的更多相关文章

  1. 云计算平台管理的三大利器Nagios、Ganglia和Splunk

    综合利用Nagios.Ganglia和Splunk搭建起的云计算平台监控体系,具备错误报警.性能调优.问题追踪和自动生成运维报表的功能.有了这套系统,就可轻松管理Hadoop/HBase云计算平台. ...

  2. OpenStack云计算平台框架

    概:  OpenStack是包含很多独立组件的一个云计算平台框架.在安装组件前,需要先将框架搭建出来,才能向其中放置组件. 搭建open stack云计算平台框架 一.安装open stack云计算平 ...

  3. 云计算平台简介(App Engine)

    云计算平台简介(App Engine)     1   简介 App Engine: 应用程序引擎,是托管网络应用程序的云计算平台. 1.1  什么是云 云计算通常简称为“云”,是一种通过 Inter ...

  4. 转 史上最详细的Hadoop环境搭建

    GitChat 作者:鸣宇淳 原文:史上最详细的Hadoop环境搭建 关注公众号:GitChat 技术杂谈,一本正经的讲技术 [不要错过文末活动哦] 前言 Hadoop在大数据技术体系中的地位至关重要 ...

  5. 深入浅出OpenStack云计算平台管理(nova-compute/network)

    一.本课程是怎么样的一门课程(全面介绍)          1.1. 课程的背景           OpenStack是 一个由Rackspace发起.全球开发者共同参与的开源项目,旨在打造易于部署 ...

  6. 【充分利用你的Azure】将Azure用作云计算平台(1)

    本文将围绕几个步骤来讲. 因为本人是MSP,微软送了150刀的额度给我随便使用.这篇文章是要讲将Azure用作云计算平台,对于我来说,我是做机器学习的,那么Azure就要有机器学习的平台. 本文的目的 ...

  7. 如何用MoveIt快速搭建机器人运动规划平台?

    MoveIt = RobotGo,翻译成中文就是“机器人,走你!”所以,MoveIt的主要就是一款致力于让机器人能够自主运动及其相关技术的软件,它的所有模块都是围绕着运动规划的实现而设计的. 两个月前 ...

  8. ELK搭建实时日志分析平台之一ElasticSearch搭建

    文:铁乐与猫 系统:CentOS Linux release 7.3.1611 (Core) 注:我这里为测试和实验方便,ELK整套都装在同一台服务器环境中了,生产环境的话,可以分开搭建在不同的服务器 ...

  9. Hadoop,大数据,云计算三者之间的关系

    大数据和云计算是何关系?关于大数据和云计算的关系人们通常会有误解.而且也会把它们混起来说,分别做一句话直白解释就是:云计算就是硬件资源的虚拟化;大数据就是海量数据的高效处理.大数据.hadoop及云计 ...

随机推荐

  1. 多线程DP (要一起行动才可以)

    题目描述 Description 设有N*N的方格图(N<=10,我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.如下图所示(见样例): 某人从图的左上角的A 点出发,可以向下行走 ...

  2. 2015苏州大学ACM-ICPC集训队选拔赛(1) 1007

    连通图 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submissio ...

  3. clip-path(css)

    概述 clip-path属性可以防止部分元素通过定义的剪切区域来显示,仅通过显示的特殊区域.剪切区域是被URL定义的路径代替行内或者外部svg,或者定义路线的方法. [注意]  IE浏览器不支持,且低 ...

  4. hive复杂格式array,map,struct使用

    -- 创建数据库表,以array作为数据类型 drop table if exists person; create table person( name string ,work_locations ...

  5. python模块之HTMLParser简介

    html.parser是一个非常简单和实用的库,它的核心是HTMLParser类. 工作的流程是:当你feed给它一个类似HTML格式的字符串时,它会调用goahead方法向前迭代各个标签,并调用对应 ...

  6. caffe 日志保存以及matlab绘制方法(windows以及ubuntu下)

    caffe 用matlab解析日志画loss和accuracy clc; clear; % load the log file of caffe model fid = fopen('log-prev ...

  7. canvas基础入门(二)绘制线条、三角形、七巧板

    复杂的内容都是有简单的线条结合而成的,想要绘制出复杂好看的内容先从画直线开始 canvas绘制直线先认识几个函数 beginPath():开始一条路径,或重置当前的路径 moveTo(x,y):用于规 ...

  8. linux 6 查看防火墙状态及开启关闭命令

    linux 6 查看防火墙状态及开启关闭命令 https://blog.csdn.net/lv_shijun/article/details/52453882 存在以下两种方式: 一.service方 ...

  9. pod基本操作

    目录 创建Pod 查询Pod 删除Pod 更新Pod @(kernetes虚拟化学习)[pod基本操作] pod基本操作 ---- 创建Pod kubectl create -f test_pod.y ...

  10. Hibernate通过自编写Sql修改

    @Override public void updateTemMsg(String ticket,String time) { String sql="UPDATE INTER_TEMPTO ...