Hadoop入门简介
一、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入门简介的更多相关文章
- 大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍
Technorati 标记: hadoop,生态圈,ecosystem,yarn,spark,入门 1. hadoop 生态概况 Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用 ...
- Hadoop入门学习笔记---part1
随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...
- Linux系统入门简介<1>
linux系统入门简介 我们为什么要学习Linux? 在介绍Linux的历史前,我想先针对大家如何对Linux的发音说一下.我发现我身边的朋友对Linux的发音大致有这么几种: "里那克斯& ...
- [转帖]Flink(一)Flink的入门简介
Flink(一)Flink的入门简介 https://www.cnblogs.com/frankdeng/p/9400622.html 一. Flink的引入 这几年大数据的飞速发展,出现了很多热门的 ...
- Hadoop入门学习笔记---part4
紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...
- Hadoop入门学习笔记---part3
2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...
- Hadoop入门学习笔记---part2
在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...
- 初识Hadoop入门介绍
初识hadoop入门介绍 Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. < ...
- 掌握 Ajax,第 1 部分: Ajax 入门简介
转:http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro1.html 掌握 Ajax,第 1 部分: Ajax 入门简介 理解 Ajax 及其工作 ...
随机推荐
- Hadoop集群(第10期)_MapReduce与MySQL交互
2.MapReduce与MySQL交互 MapReduce技术推出后,曾遭到关系数据库研究者的挑剔和批评,认为MapReduce不具备有类似于关系数据库中的结构化数据存储和处理能力.为此,Google ...
- Headfirst JSP 01 (概述)
HTTP 协议 http 是tcp/ip上层协议, 如果你对这些网络协议还不是太熟悉, 下面提供一个非常简单的解释, tcp负责确保从一个网络节点向另一个网络节点发送文件能作为一个完整的文件到达目的地 ...
- Datagridview的某些属性again
private void button1_Click(object sender, EventArgs e) //这里是不用泛型集合的情况,用的是Datatable { SqlConnection c ...
- nodejs开发阶段利器supervisor
在开始学习nodejs时,往往一般写代码,一边看效果.先停止node,再重新运行.非常耗时. 这时supervisor派上了用场. 安装 推荐使用npm,本人一直使用局部安装,这样可以将全部文件安装在 ...
- zoj 3690 Choosing number
题意 就是说给你 N 个人站成一排,现在每个人都可以选择 1-M 中间的任意一个数字,相邻的两个人数字相同,则他必须是是 > K 的 问方案总数: 方法 先求出递推式,然后用矩阵 ...
- tcpdump tutorial
tcpdump tutorial */--> UP | HOME tcpdump tutorial Table of Contents 1 Options 2 Basic Usage 3 Com ...
- 【转】A*寻路算法 C++实现
头文件:AStarPathFinding #ifndef ASTARPATHFINDING_H #define ASTARPATHFINDING_H #include <queue>//为 ...
- js仿手机端九宫格登录功能
js仿手机端九宫格登录功能 最近闲来无事把以前无聊时开发的小东西拿出来和大家分享下,写的不好的请指出,我会及时修改.谢谢. 功能及方法逻辑都注释在代码中.所以麻烦大家直接看代码. 效果如下: 话不多说 ...
- JS面向对象组件(五) -- 复制对象(拷贝继承)
研究到这儿,竟然出现了一个面试题目 var a = { name : '小明' }; var b = a; b.name = '小强'; alert( a.name ); 结果必然是“小强”,原因是对 ...
- CentOS安装tomcat
一.下载Tomcat 1..进入Tomcat官网:http://tomcat.apache.org/ 左侧选择相应的版本 点击Tomcat 6.0后 点击tar.gz下载apache-tomcat-6 ...