一、Hadoop简介

1.1、Hadoop主要进行分布式存储和分布式计算

  1.1-1、HDFS:分布式文件系统

  1.1-2、MapReduce:并行计算框架

1.2、Hadoop用来做什么

  搭建大型的数据仓库

  搜索引擎、日志分析、数据挖掘

1.3、优势:

  高扩展、低成本、成熟的生态圈

二、Hadoop核心

2.1、HDFS

  2.1.1 简介

文件被分成块进行存储(默认块的大小是64MB),HDFS两个重要节点NameNode和DataNode

  1)NameNode:管理节点,存储源文件

    (1)存储文件与数据块的映射表

    (2)存储数据块与DataNode的映射表

  2)DataNode:数据节点

    用于存放数据块

   

  2.1.3 HDFS的数据存储和容错

  1)对每个数据块存储3份,2份在同一机架,1份在另一机架

  2)心跳检测,DataNode定期向NameNode发送心跳消息。

  3)二级NameNode(对NameNode的数据进行同步备份,),NameNode故障以后,切换到二级NameNode

  2.1.4 HDFS文件读取

  1)读取文件

    (1) 客户端向NameNode请求数据

    (2) NameNode查询源数据,回复客户端,文件包括哪些块,这些块分别位于哪个DataNode

    (3)客户端分别对DataNode读取块,将block组装成源文件

  2)写文件

  

    (1)客户端将文件拆分成块,发送给NameNode

    (2)NameNode发挥给客户端一系列可用的DataNode

    (3)客户端将数据写入到DataNode,

    (4)DataNode对数据进行流水线复制,保留三份

    (5)更新源数据,DataNode向NameNode汇报数据

  2.1.5 HDFS的特点

  1) 数据冗余,硬件容错(三备份)

  2) 流式数据访问(1次写入,多次读取,写入后无法修改)

  3) 适合存储大文件,(小文件对NameNode的负载压力大)

  2.1.6 HDFS适应性和局限性

  1) 适合数据批量读写,吞吐量高。不适合交互式应用,低延时很满足(例如数据库)

  2) 适合一次写入,多次读取,顺序写入。不支持多用户并发写相同的文件。

2.2、MapReduce

  2.2.1 简介

  MapReduce(一个大任务分成小的子任务,并行执行后,合并结果)

  Map:大任务拆分成多个子任务

  Reduce:并行计算后,合并结果

  2.2.2 MapReduce运行流程

 1、基本概念

    -Job & Task(一个Job分成多个task,task分为MapTask和ReduceTask)(例如统计日志中每个IP出现的次数,这就是一个Job)

    -JobTracker:作业调度、分配任务、监控任务执行进度、监控TaskTracker的状态

    -TaskTracker:执行任务、向JobTracker汇报任务状态

   一般配置的时候,TaskTracker与HDFS的DataNode配置在同一节点。

  

  

  2.2.3 MapReduce的容错机制

  1、重复执行(般重复执行4次以后就会放弃)

  2、推测执行:对于一个执行特别慢的TaskTracker(预测可能出现故障),在另一台机器上面重新开一个TaskTracker,执行相同的计算,两者谁先执行完,用谁的数据

  2.2.4开发Hadoop应用程序

(未完待续)

Hadoop入门简介的更多相关文章

  1. 大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍

    Technorati 标记: hadoop,生态圈,ecosystem,yarn,spark,入门 1. hadoop 生态概况 Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用 ...

  2. Hadoop入门学习笔记---part1

    随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...

  3. Linux系统入门简介<1>

    linux系统入门简介 我们为什么要学习Linux? 在介绍Linux的历史前,我想先针对大家如何对Linux的发音说一下.我发现我身边的朋友对Linux的发音大致有这么几种: "里那克斯& ...

  4. [转帖]Flink(一)Flink的入门简介

    Flink(一)Flink的入门简介 https://www.cnblogs.com/frankdeng/p/9400622.html 一. Flink的引入 这几年大数据的飞速发展,出现了很多热门的 ...

  5. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  6. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  7. Hadoop入门学习笔记---part2

    在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...

  8. 初识Hadoop入门介绍

    初识hadoop入门介绍 Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. < ...

  9. 掌握 Ajax,第 1 部分: Ajax 入门简介

    转:http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro1.html 掌握 Ajax,第 1 部分: Ajax 入门简介 理解 Ajax 及其工作 ...

随机推荐

  1. hdu - 1010 Tempter of the Bone (dfs+奇偶性剪枝) && hdu-1015 Safecracker(简单搜索)

    http://acm.hdu.edu.cn/showproblem.php?pid=1010 这题就是问能不能在t时刻走到门口,不能用bfs的原因大概是可能不一定是最短路路径吧. 但是这题要过除了细心 ...

  2. HDU 4664 Triangulation(SG函数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4664 题意:给出一个n个点的凸包(不存在三点共线).每次可以选择两个点连线,但是任意两条线只能在顶点处 ...

  3. CSS 中区块的使用_宽高属性

    width 像素/百分比 区块的宽度 auto height 像素/百分比 区块的高度 auto min-height 像素像素/百分比 区块最小高度 auto max-height 像素像素/百分比 ...

  4. JSAPI微信支付返回错误:fail_no permission to execute

    问题描述 fail_no permission to execute 一定是授权目录出问题了,因为没有权限. 开发环境及可能造成的原因 这次的微信开发是用的Mvc4,支付的封装代码不会有问题(用过很多 ...

  5. BZOJ 4552 排序

    省选TM都能有BC原题? ... #include<iostream> #include<cstdio> #include<cstring> #include< ...

  6. Linux C double linked for any data type

    /************************************************************************** * Linux C double linked ...

  7. 【英语】Bingo口语笔记(64) - Beat系列

  8. javascript对象之 selectionStart selectionEnd

    <script> function inserttag(){ var text=document.getElementById('con'); text.focus(); var star ...

  9. nginx上传目录配置,禁止执行权限

    我们经常会把网站的图片文件上传目录设置为只可上传文件但不能执行文件,就是要禁止执行权限,小编来给大家举一个上传目录配置,禁止执行权限方法,各位可参考. 如果不让有执行权限最简单的办法  代码如下 复制 ...

  10. Yii 框架创建自己的 web 应用

    http://m.baidu.com/from=2001a/bd_page_type=1/ssid=0/uid=0/pu=usm%400%2Csz%401320_1003%2Cta%40iphone_ ...