`
BradyZhu
  • 浏览: 249144 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HDFS MapReduce笔记

 
阅读更多

hadoop的HDFS hadoop分布式文件系统


NameNode :存储元数据,比如(文件名,文件权限) ,负责处理client端发起的请求任务,读写都先访问namenode

元数据保存到内存中,同时落地到磁盘fsimage ,edits记录了对metadata的操作日志保存文件,block,datanode之间的映射关

系。block 的位置信息保存到内存里面,重启服务的时候上报

SecondaryNameNode(SNN) 是一部分元数据的备份, 它的主要工作 :NN每隔3600s或者超出固定大小,发送edits 和fsimage

SNN,NN生成一个新的edits, SNN帮namenode 去合并edits l文件,合并完了之后 得到一个新的fsimage 发送 给NN。 --如果

NN挂了,那么 在SNN中有上一次的备份,。可以找回大部分的数据



DataNode:存储 文件内容,都是一块,一块的, 包括副本信息
文件内容保存在磁盘

维护了block id 到datanode本地文件的映射关系..

存储数据单元:block

文件被切分成固定大小的数据块,block,这个大小是固定的,默认的 数据块大小为64MB,可以配置,若文件大小<64m,那么

单独成一个block

文件的存储方式:按照大小被切分成N个块,存储到不同节点上。默认block都有3个副本

中途block size不可变,但副本数可以 ,,理论上来说 ,只要3个block所在的机器 不同时挂。那么数据都能还原。

上传文件的时候: 放置在上传的DN上,如果集群外提交 ,则随机选一个磁盘不太满,cpu不太忙的节点,第二个block 则选择 不

同机架的服务器节点上

-存储数据

-启动DN线程的时候会想NN 汇报,block 信息

-主动的通过向NN发送心跳 3秒一次 如果NN 10分钟没有收到DN的心跳,那么NN认为DN已经丢失,并copy其上面的副本到其他

的DN


HDFS 最适合大文件处理:

一个namenode和多个datanode节点

数据复制 (冗余机制)

故障检测

数据节点:检测是否宕机
块报告:安全模式下检测
数据完整性
名称节点:日志文件和镜像文件

权限: HDFS是没有密码的,只要 告诉hdfs 你是谁,那么 hdfs则认为 你是谁,,安全性太差。 一般 HDFS里面放的数据不是很重要

的数据

安全模式:首先把映像文件(fsimage)加入内存,并执行和编辑日志的各项操作。可以理解成初始化的过程,检测和修复的一个过

程,不建议跳过。。


hadoop 的hdfs 的缺点:hadoop1存在单独故障的问题,hadoop2不存在,

一:低延迟数据访问,比如毫秒级

二:小文件存取,占用NameNode大量内存,元数据是要保存到内存中的。 可以压缩成一个文件存储

三:并发写入、文件随机修改 一个文件只能有一个写者,

比如 百度网盘,不能修改数据。。在国内,一般所谓的网盘 80% 都是用的hadoop 来存储的 hadoop2 可以修改数据

hadoop-env.sh 配置java

core-site.xml namenode配置

hdfs-site.xml hdfs配置

slaves 指定哪些为datanode

masters 指定哪些为secondaryNameNode

bin/hadoop namenode –format 生成会在 core-site.xml配置的hadoop.tmp.dir 工作目录下面 去生成dfs文件

hadoop的 MR(map-reduce) 分布式计算框架之一 mr适合做离线计算 storm适合做流式计算框架 适合实时计算 spark 内
存计算框架 适合快速得到结果的计算


这个框架

-分布式计算

-移动计算、而不是移动数据

Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务(Map)发送到多个节点上,之后再以单个数据集的形式加载(Reduce)

到数据仓库里。

Map-Reduce架构

-一主多从架构

- 主JobTracker(在1.0上面才有JobTracker,2.0以后就没有了)

负责调度分配每一个子任务task运行于TaskTracker上,如果发现有失败的task 就重新分配其任务到其他节点上,每一个hadoop集群

只有一个jobTracker,一般运行到master节点上。

- 从TeskTracker

TeskTracker主动与JobTracker通信,接受作业,并负责直接执行每一个任务(map tesk 和reduce tesk),为了减少网络带宽,最

好tesktracker运行到hdfs的datanode上面

原理:

有4个步骤,
一:input split 分裂
把大文件(block)切成小文件


二:map步骤

每个spliting 对于一个mapping,map上面的数据来源于nodename的block,block经过了split操作,基本不存在数据倾斜的问题

三:shuffler

-在mapper和reduce 中间的一个步骤

-可以把mapper的输出按照某种key值重新切分和组合成N个,把key值 符合某种范围的输出送到特定的reduce那里去处理

-可以简化reduce的过程

map是一段计算机程序,得到了一段结果,输出的结果放到内存中,buffer in memory(内存缓冲区),内存 是有溢出的。这个过程就

要落地到磁盘中,这个过程叫做溢写。

这个过程中要partition分区(把map 的输出数据分成一个一个的区,这一步解决了map-reduce负载均衡,标示该map数据属于哪个区,

并非真正的分区)和 spill to disk 溢写到磁盘。sort排序(默认按照ascii码) 默认的partition是可能产生数据倾斜的

每次spill disk 要产生一个临时文件。combiner merge成一个大文件。 按照hash值

这个 计算过程在当前节点本地实现

每个 map tesk 都有一个内存缓冲区(默认是100M),先patition,然后存储map的输出结果,当缓冲区快满的时候,把数据spill磁盘

中(临时文件),spill完了之后,再进行sort&combiner(合成,减少map的输出)


四:reduce
会产生数据倾斜,

可以自定义几个reduce去做数据块的合并,map的数据量决定reduce的个数

把不同map所在节点的spill to disk 的数据和剩余内存中的数据 , 按照key值,merge所有提交的数据 统计到reduce中




分享到:
评论

相关推荐

    hadoop学习笔记(hdfs,mapreduce,yarn)

    压缩文件中包含了Hadoop生态系统、体系架构及特点,三大基本组件HDFS,MapReduce,YARN的学习笔记,文件为Markdown格式,进行了详细功能介绍说明,可以帮助大家学习hadoop的三大组件或者作为一份详细资料备份,帮助...

    初学Hadoop之图解MapReduce与WordCount示例分析

    Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,MapReduce则为海量的数据提供了计算...1、Hadoop示例程序WordCount详解及实例2、hadoop学习笔记:mapreduce框架详解3、hadoop示例程序wo

    cdh-hdfs-mapreduce-json-avro-serde-hbase:Hadoop Hands on - 一个 POC,涵盖 HDFS API、MapReduce、JSON 和 AVRO SerDe、HBase API 和 FuzzyRowFilter 用法

    Hadoop Hands on - 一个 POC,涵盖 HDFS API、MapReduce、JSON 和 AVRO SerDe、HBase API 和 FuzzyRowFilter 用法 我的 Hadoop 学习阶段仍在继续。 在这个阶段,我发现非常缺乏一个全面的 POC,它至少涵盖了一些突出...

    大数据知识仓库涉及到数据仓库建模、实时计算、大数据、数据中台、系统设计、Java、算法等代码

    5、Hadoop生态圈的学习笔记,主要记录HDFS、MapReduce、Yarn相关读书笔记及源码分析等 5.1 HDFS Hadoop快速入门 HDFSOverView Hadoop广义生态系统 Hadoop高可用配置 HadoopCommon分析 HDFS集群相关管理 HDFS Shell ...

    Hadoop学习文档笔记,基本原理 HDFS

    学习时候的笔记 还有简单例子代码 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

    【大数据入门笔记系列】第五节 SpringBoot集成hadoop开发环境(复杂版的WordCount)

    【大数据入门笔记系列】第五节 SpringBoot集成hadoop开发环境(复杂版的WordCount)前言环境清单创建SpringBoot项目创建包创建yml添加集群主机名映射hadoop配置文件环境变量HADOOP_HOME编写代码添加hadoop依赖jar包...

    我的学习笔记集合,比较多

    Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速...HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算

    Hadoop学习笔记

    Hadoop学习笔记一 简要介绍,这里先大致介绍一下Hadoop. 1、HDFS, 2、MapReduce的实现

    IT十八掌_Hadoop阶段学习笔记(课堂笔记与源码流程)

    Hadoop架构分析之集群结构分析,Hadoop架构分析之HDFS架构分析,Hadoop架构分析之NN和DN原生文档解读,Hadoop MapReduce原理之流程图.Hadoop MapReduce原理之核心类Job和ResourceManager解读.Hadoop MapReduce原理之...

    妳那伊抹微笑_云计算之Hadoop完美笔记2.0

    妳那伊抹微笑自己整理的Hadoop笔记,有以下内容: Day1 搭建伪分布实验环境 Day2 介绍HDFS体系结构及shell、java操作方式 Day3 介绍MapReduce体系结构(1) Day4 介绍MapReduce体系结构(2) Day5 介绍Hadoop集群、...

    hadoop笔记打包下载(想学hadoop不下载后悔)

    hadoop学习资料下载.包括hdfs,集群,MapReduce,HBase,Hive等等.完全收录.

    hadoop笔记.zip

    Haddop学习笔记,涉及HDFS的详细说明文档,MapReduce的详细说明文档

    大数据整理笔记

    1.有关Linux的整理笔记 ps,监控日志,防火墙 yum下载,文件权限等等 2.HDFS的集群搭建与使用 3.MapReduce的使用 4.HBase的集群搭建已使用 5.ZooKeeper的集群部署

    hadoop笔记

    Hadoop架构分析之集群结构分析,Hadoop架构分析之HDFS架构分析,Hadoop架构分析之NN和DN原生文档解读,Hadoop MapReduce原理之流程图.Hadoop MapReduce原理之核心类Job和ResourceManager解读.Hadoop MapReduce原理之...

    Hadoop 培训笔记 及源码

    Hadoop架构分析之集群结构分析,Hadoop架构分析之HDFS架构分析,Hadoop架构分析之NN和DN原生文档解读,Hadoop MapReduce原理之流程图.Hadoop MapReduce原理之核心类Job和ResourceManager解读.Hadoop MapReduce原理之...

    hadoop全部笔记.zip

    HADOOP笔记详细文档。其中包括HDFS、yarn、mapreduce、hive、Hbase等原理讲解图片与各个组件的详细说明,以及相应mapreduce代码案例实例。以及对伪分布式、全分布式通俗易懂的说明。

    hbase学习笔记

    比较详细的HBase学习笔记,精心制作 HBase是一个分布式的、...HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务。

    hadoop+hive+finebi笔记.rar

    内容概要:让初学者能高效、快捷掌握Hadoop必备知识,大大缩短Hadoop离线阶段学习时间。...HDFS+MapReduce+Hive 基于数据仓库实现离线数据分析的可视化报表开发。 Hadoop生态综合案例 ——陌陌聊天数据分析

    spark学习笔记一

    Hadoop中是包含计算框架MapReduce和分布式文件系统HDFS,更广泛的讲是还包含其生态系统上的其他系统比如Hbase和Hive等。 Spark相比MapReduce的优点: 1.中间结果的输出 (1)MapReduce的话计算结果会产生很多stage,...

Global site tag (gtag.js) - Google Analytics