Hadoop--初识Hadoop
什么是Hadoop?
搞什么东西之前,第一步是要知道What(是什么),然后是Why(为什么),最后才是How(怎么做)。但很多开发的朋友在做了多年项目以后,都习惯是先How,然后What,最后才是Why,这样只会让自己变得浮躁,同时往往会将技术误用于不适合的场景。
Hadoop框架中最核心的设计就是:MapReduce和HDFS。MapReduce的思想是由Google的一篇论文所提及而被广为流传的,简单的一句话解释MapReduce就是“任务的分解与结果的汇总”。HDFS是Hadoop分布式文件系统(Hadoop Distributed File System)的缩写,为分布式计算存储提供了底层支持。
MapReduce从它名字上来看就大致可以看出个缘由,两个动词Map和Reduce,“Map(展开)”就是将一个任务分解成为多个任务,“Reduce”就是将分解后多任务处理的结果汇总起来,得出最后的分析结果。这不是什么新思想,其实在前面提到的多线程,多任务的设计就可以找到这种思想的影子。不论是现实社会,还是在程序设计中,一项工作往往可以被拆分成为多个任务,任务之间的关系可以分为两种:一种是不相关的任务,可以并行执行;另一种是任务之间有相互的依赖,先后顺序不能够颠倒,这类任务是无法并行处理的。回到大学时期,教授上课时让大家去分析关键路径,无非就是找最省时的任务分解执行方式。在分布式系统中,机器集群就可以看作硬件资源池,将并行的任务拆分,然后交由每一个空闲机器资源去处理,能够极大地提高计算效率,同时这种资源无关性,对于计算集群的扩展无疑提供了最好的设计保证。(其实我一直认为Hadoop的卡通图标不应该是一个小象,应该是蚂蚁,分布式计算就好比蚂蚁吃大象,廉价的机器群可以匹敌任何高性能的计算机,纵向扩展的曲线始终敌不过横向扩展的斜线)。任务分解处理以后,那就需要将处理以后的结果再汇总起来,这就是Reduce要做的工作。
Hadoop解决两个问题海量数据存储、海量数据分析
提供了一个可靠的共享存储和分析系统,HDFS(Hadoop Distributed File System)实现存储,MapReduce实现分析处理。这两块是Hadoop的核心。
Hadoop具有最大化利用内存、最大化利用磁盘、最大化利用CPU的特点。
Hbase:nosql数据库,最大化利用内存。
HDFS:架构设计原则(最大化利用磁盘):
Block(文件块):一个文件分块默认64M。
NameNode:保存文件系统的目录信息,读取信息。数据节点很多时,容易成为系统的瓶颈,避免这个问题,实现NameNode一般都保存到内存中,同事持久化一部分信息在磁盘上,以备数据丢失。
DataNode:用于存储Block。
HDFS的HA策略:2.x开始hadoop支持namenode的active-standy模式,宕机时standy切换成active模式为整个应用提供服务。
MapReduce:
最大化利用CPU,分析处理大规模的数据集
通过图片可以简单了解,将同一操作,放在相当于多台处理器上并行执行,每个处理器执行1部分执行后,在将结果汇总在一起,这样减少了很多的时间。
Hadoop--初识Hadoop相关推荐
- 细细品味大数据--初识hadoop
初识hadoop 前言 之前在学校的时候一直就想学习大数据方面的技术,包括hadoop和机器学习啊什么的,但是归根结底就是因为自己太懒了,导致没有坚持多长时间,加上一直为offer做准备,所以当时重心 ...
- Hadoop权威指南 _03_第I部分Hadoop基础知识_第1章初识Hadoop.
第I部分Hadoop基础知识 第1章初识Hadoop. 比较喜欢这句极其形象的比喻. "在古时候,人们用牛来拉重物.当一头牛拉不动根圆木时,人们从来没有考虑过要想方设法培育出一种更强壮的牛. ...
- 雾里探花之Hadoop初识
Hadoop初识 写在前面 Hadoop 产生 问题 与传统关系型数据库的比较 HDFS 节点: 数据流 读取 写入 高可用 安全模式 MapReduce 节点 写在前面 写个啥呢,算了,不写了. H ...
- 《Hadoop基础教程》之初识Hadoop
Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. <Hadoop基础教程> ...
- [转载]Apache之Hadoop学习:初识hadoop
原文转自:http://qa.taobao.com/blogs/qa?bid=10514 这是本人看到过的关于hadoop的比较容易理解的入门文章,在此转载过来,方便广大像我这样的初级码农. 原文如下 ...
- Hadoop基础教程》之初识Hadoop【转】
Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. <Hadoop基础教程> ...
- 初识Hadoop两大核心:HDFS和MapReduce
一.Hadoop是什么? Hadoop是一个能够对大量数据进行分布式处理的软件框架,实现了Google的MapReduce编程模型和框架,能够把应用程序分割成许多的小的工作单元,并把这些单元放到任何集 ...
- 初识Hadoop之概念认知篇
Hadoop作为大数据的支撑,那么我们会有一些疑问,什么是Hadoop,Hadoop能够做些什么,它的优点是什么,它是如何进行海量数据的操作的.相信这些疑问,一定在此时困扰着你,不要担心,下面我们一步 ...
- [转]《Hadoop基础教程》之初识Hadoop
原文链接:http://blessht.iteye.com/blog/2095675 Hadoop历史 雏形开始于2002年的Apache的Nutch,Nutch是一个开源Java 实现的搜索引擎.它 ...
- 零基础linux安装hadoop步骤,hadoop的Linux下简单安装步骤
首先安装Hadoop cluster版本: $ curl -O http://archive.cloudera.com/cdh/3/hadoop-0.20.2-cdh3u6.tar.gz $ cd / ...
最新文章
- 并发锁之二:ReentrantReadWriteLock读写锁
- 一个数独引发的惨案:零知识证明(Zero-Knowledge Proof)
- SAP UI5 初学者教程之八 - 多语言的支持试读版
- 大动作!北京大学成立新系!
- TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨1.37%
- 洛谷 P4001 [ICPC-Beijing 2006]狼抓兔子
- Javascript执行效率总结
- 李炎恢php视频教程ed2k,李炎恢PHP视频教程第一二三四季,含源码和教课文档从入门到精通...
- 在Linux下安装软件
- 树莓派基于motion的usb摄像头监控
- Jmeter 压测和AB压测的比较
- 微信小程序云开发项目——多肉植物销售小程序
- 用户增长——CLV用户生命周期价值CLTV 笔记(一)
- Eclipse修改背景颜色(豆沙绿)
- 读取统计微信捐款(matlab)
- Makerdown小白使用指南
- 计算机网络技术包含哪些方面,计算机网络包括哪些内容
- linux dvb设备信息,Linux DVB api 笔记
- 字符串的排列(TS)
- 自动编程软件面世 我们还需要程序员吗?
热门文章
- C++(STL):21---deque之源码剖析
- Lua 与 C混合编程 .
- QT5生成.exe文件时,出现缺少QT5core.dll文件解决方法
- plsql如何显示表结构图_【论文攻略】排版技巧——如何用 Word 编辑参考文献
- 单基因gsea_筛到5分的核心基因以后你可以怎么做?
- std::reserves使用
- 对于boost锁机制结论性的介绍
- 永远和靠谱的人在一起!
- 能让你成为更优秀程序员的10个C语言资源
- 硅谷创业者中被遮蔽的“中国现象”