文档章节

告诉你Hadoop是什么

houzhe11
 houzhe11
发布于 2017/04/06 20:42
字数 482
阅读 9
收藏 0

Hadoop是什么?Hadoop是一个开发和运行处理大规模数据的软件平台,是apache的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。

Hadoop框架中最核心设计就是:HDFS和MapReduce.HDFS提供了海量数据的存储,MapReduce提供了对数据的计算.

数据在Hadoop中处理的流程可以简单的按照下图来理解:数据通过hadoop的集群处理后得到结果.

HDFS:Hadoop Distributed File System,Hadoop的分布式文件系统.
大文件被分成默认64M一块的数据块分布存储在集群机器中.

如下图中的文件 data1被分成3块,这3块以冗余镜像的方式分布在不同的机器中.

MapReduce:Hadoop为每一个input split创建一个task调用Map计算,在此task中依次处理此split中的一个个记录(record),map会将结果以key--value的形式输出,hadoop负责按key值将map的输出整理后作为Reduce的输入,Reduce Task的输出为整个job的输出,保存在HDFS上.

 

Hadoop的集群主要由 NameNode,DataNode,Secondary NameNode,JobTracker,TaskTracker组成.

如下图所示:

NameNode中记录了文件是如何被拆分成block以及这些block都存储到了那些DateNode节点.

NameNode同时保存了文件系统运行的状态信息.

DataNode中存储的是被拆分的blocks.

Secondary NameNode帮助NameNode收集文件系统运行的状态信息.

JobTracker当有任务提交到Hadoop集群的时候负责Job的运行,负责调度多个TaskTracker.

TaskTracker负责某一个map或者reduce任务.

 

  1. 快速部署Hadoop基础架构

  2. 了解关于Hadoop的12个事实

  3. Hadoop核心机制详细解析

  4. Facebook的Hadoop应用与故障转移方案

 

by:www.331king.cn

本文转载自:http://os.51cto.com/art/201207/346023.htm

共有 人打赏支持
houzhe11
粉丝 4
博文 9
码字总数 433
作品 0
长沙
后端工程师
关于学习Hadoop的提问

听说Hadoop已经有很长时间了。其中包含的MapReduce等都强烈的吸引着我想要去学习它。但是,现在就是不知道该从什么地方学起。各位前辈们,请告诉我,学习Hadoop的学习之道吧!前期需要掌握什...

scharf
2013/12/23
422
3
Hadoop 和 hive之间的关系是什么?

查阅了很多资料,hadoop的核心是hdsf和mapreduce。那hive是做什么用的?我看资料中说,hive是基于sql的,那hadoop+hive的整合是进行了一个什么实质性的操作?总是说,hdfs是一个分布式文件,...

薄暮凉年
2015/09/14
1K
3
初学大数据,一定要知道这些

经常有初学者问我,自己想往大数据方向发展,该学哪些技术,学习路线是什么样的,觉得大数据很火,就业很好,薪资很高。。。。。。。如果自己很迷茫,为了这些原因想往大数据方向发展,也可以...

铁扇公主1
2017/03/22
292
1
hadoop2.7.0集群,使用中遇到的bug及解决办法

hadoop环境是2.7.0的集群环境,使用sqoop 1.4.6执行从mysql向hive的数据导入。 执行过程中报错,如下方的日志信息。但是查询hive中的数据,发现实际数据已经过来了,但因为mysql的数据表较多...

灵宝
2015/09/28
1K
0
初学者学hadoop只有这些基础还不够

“学习hadoop需要什么基础”这已经不是一个新鲜的话题了,随便上网搜索一下就能找出成百上千篇的文章在讲学习hadoop需要掌握的基础。再直接的一点的问题就是——学Hadoop难吗?用一句特别让人...

左手的倒影
09/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mac OS X下Maven的安装与配置

Mac OS X 安装Maven: 下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后...

TonyStarkSir
32分钟前
0
0
关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
52分钟前
1
0
打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
4
0
搞定Northwind示例数据库,无论哪个版本的SQLServer都受用

Northwind数据库 从这里可以找到突破口: http://social.msdn.microsoft.com/Forums/zh-CN/Vsexpressvb/thread/8490a1c6-9018-40c9-aafb-df9f79d29cde 下面是MSDN: http://msdn2.microsoft......

QQZZFT
昨天
1
0
mysql主从同步,安装配置操作

准备 两台mysql服务,我这里准备了如下: 主库:192.168.176.128 从库:192.168.176.131 如何在Linux上安装mysql服务,请看https://blog.csdn.net/qq_18860653/article/details/80250499 操作...

小致dad
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部