hadoop是什么?新手自学hadoop教程(一)

百科释义:Hadoop是一个由Apache基金会所开发的分布式系统基础架构。

Hadoop是一个专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式。

hadoop是什么?新手自学hadoop教程(一)_第1张图片

Hadoop=HDFS(文件系统,数据存储技术相关)+ Mapreduce(数据处理),Hadoop的数据来源可以是任何形式,在处理半结构化和非结构化数据上与关系型数据库相比有更好的性能,具有更灵活的处理能力,不管任何数据形式最终会转化为key/value,key/value是基本数据单元。

hadoop是什么?新手自学hadoop教程(一)_第2张图片

用函数式变成Mapreduce代替SQL,SQL是查询语句,而Mapreduce则是使用脚本和代码,而对于适用于关系型数据库,习惯SQL的Hadoop有开源工具hive代替。

hadoop使用java编写,版本较为混乱,初学者可从1.2.1开始学习

hadoop是什么?新手自学hadoop教程(一)_第3张图片

1.成百上千台服务器组成集群,需要时刻检测服务器是否故障

2.用流读取数据更加高效快速

3.存储节点具有运算功能,省略了服务器之间来回传数据的网络带宽限制

4.一次写入,多次访问,不修改数据

5.多平台

hadoop是什么?新手自学hadoop教程(一)_第4张图片

hadoop是什么?新手自学hadoop教程(一)_第5张图片

namenode:master,负责总体调度,处理协调请求等

(一个集群只能有一个namenode,但是可以多个集群组成一个更大的集群,这时就有多个namenode,这时的namenode有两种状态,一种叫active并且一个大集群只能有一个namenode处于该状态,一种为standby)

namenode两大功能:接受客户端读写服务,存放元数据(DataNode存储的位置等基本信息,fsimage和edits文件)

fsimage是namenode格式化时产生的,edits是用户操作增删改查的时候生成的日志

datanode:slave,存储节点,会备份,一般本地2分,其他服务器一份

机架:多个DataNod节点组成,master通过机架感知技术得知所需数据的位置

数据块:存储单元,一般64M(hadoop2中是128M)

hadoop是什么?新手自学hadoop教程(一)_第6张图片

时刻保持心跳通讯,保证每个数据都备份于3个节点上

hadoop是什么?新手自学hadoop教程(一)_第7张图片

hadoop是什么?新手自学hadoop教程(一)_第8张图片

5的read为第一个数据块读完后,读下一个数据块,如果在读取过程中某一个数据块出问题,则会记录下来并且找其他的备份,并且以后不再读取错误数据块

hadoop是什么?新手自学hadoop教程(一)_第9张图片

map负责分批运算,如果要统计1TB数据中my的出线次数,则可以启用100个map,每个map统计0.01TB数据,最终由reduce汇总

hadoop是什么?新手自学hadoop教程(一)_第10张图片

作业(Job):运行一个MapReduce所需要用到的所有jar组件

任务(Task):mapTask和ReduceTask

Key相同的结果进行reduce统计合并

hadoop是什么?新手自学hadoop教程(一)_第11张图片

作业提交一般提交jar包和配置文件

调度一般来说默认采取FIFO调度,即先考虑优先级,然后先进先出

hadoop是什么?新手自学hadoop教程(一)_第12张图片

TaskTracker会不断想JobTracker传达任务信息,如果空闲会主动申请作业

hadoop是什么?新手自学hadoop教程(一)_第13张图片

hadoop是什么?新手自学hadoop教程(一)_第14张图片

hadoop是什么?新手自学hadoop教程(一)_第15张图片

hadoop是什么?新手自学hadoop教程(一)_第16张图片

一般的生产环境都是完全分布式模式。

你可能感兴趣的:(hadoop)