大数据开发基础上笔记

一、HDFS简介

1.Hadoop2介绍

2.HDFS概述

3.HDFS读写流程

 

1.Hadoop2的介绍

(1)Hadoop2框架的核心设计:HDFS、MapReduce、YARN(使得Hadoop2可以运行更多的框架)、other

(2)Hadoop1:MapReduce、HDFS


(3)Hadoop2主要改进:

            YARN:使Hadoop2可以运行更多种类的框架

            NameNodeHA:master-slave架构中的master,存储于源数据?可以实现HA:activeNameNode挂掉以后,standbyNameNode可以立即搭起并提供服务

            HDFSFederation:Hadoop源数据放于NameNode内存当中,内存限制了整个集群的规模,federation是让多个NameNode组成一个联邦,共同管理NameNode,这样就可以扩大Hadoop1的集群规模

            HadoopRPC序列化扩展性:Hadoop1中RPC序列化扩展性差,很难添加新的数据,把数据类型独立出来作为一个可插拔的模块。

2.HDFS概述

分布式文件系统


(1)主要特性:

            支持超大文件;

            检测和快速应对硬件故障;

            流式数据访问;

            简化一致性模型;

(2)不适合的场景:

            低延迟数据访问;

            大量的小文件;

            多用户写入文件,修改文件

(3)HDFS数据块:Hadoop1中默认HDFS数据块大小是64M,Hadoop2中默认HDFS数据块是128M,以Linux上普通文件 的形式保存在数据节点的文件系统中,数据块是HDFS的文件存储处理的单元。

(4)数据块的好处:

            HDFS可以保存比存储节点单一磁盘大的文件;

            简化了存储子系统,简化了存储管理,也消除了分布式管理文件元数据的复杂性;

            方便容错,有利于数据复制;

3.HDFS的读写流程

            读流程


            写流程


            创建子路径的流程


            删除流程


三.YARN原理

Hadoop2新增的资源管理器

1.   YARN产生背景

2.   YARN基本架构及原理

 

1.   YARN产生背景

(1)   Hadoop1中的MapReduce弊端

扩展性差;

可靠性差;(单点故障)

资源利用率低;(基于槽位的资源划分,mapslot,reduceslot不可共享,浪费资源)

无法支持多种计算框架并存;(基于磁盘的离线计算,但不包括内存计算,流式计算,迭代式计算)

多个计算框架可以:资源利用率高,运维成本低,数据共享


2.   YARN基本框架及原理

(1)   YARN的定义

是一种Hadoop资源管理器,是一种通用资源管理系统,可为上一层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

 

(2)  应用场景

通用的统一的资源管理系统:

长应用程序;长期运行的

短应用程序

(3)  主要组件

ResourceManager:YARN的master

ApplicationMaster:每个作业的重启失败的任务

NodeManager:整个YARN的slave

Container:动态的资源抽象


三.MapReduce的原理介绍

1.MapReduce介绍

2.MapReduce2运行原理

3.shuffle及排序

 

1.    MapReduce介绍

MapReduce是面向大数据并行处理的计算模型、框架和平台。


五个步骤,shuffle是map和Reduce的核心

2.    MapReduce2运行原理

 

3.shuffle及排序

Map,Reduce之间,合并排序等

MapReduce的map端输出作为输入传递给reduce端,并按键排序的过程称为shuffle。

Prtition分区

 

mapreduce的编程

mapclass;

reduceclass;

main:

创建configuration的实例

创建Map Reduce的job实例

设置输入路径:FileInputFormat.addInputPath()

设置一个HDFS上没有的子路径:FileOutputFormat.setOutputPath()

设置mapclass

设置reduceclass

设置reduce的个数:setNumReduceTasks();

设置map的key/value的类型

设置输出的key/value的类型

设置job的jar包:setJarByClass()

设置提交:setForCompletion(true)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值