自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (2)
  • 收藏
  • 关注

原创 yarn架构组件

YARN 总体上是 master/slave 结构,在整个资源管理框架中,ResourceManager 为 master,NodeManager 是 slave。YARN的基本组成结构,YARN 主要由 ResourceManager、NodeManager、ApplicationMaster 和 Container 等几个组件构成。ResourceManager是Master上一个独立运行的进程,负责集群统一的资源管理、调度、分配等等;NodeManager是Slave上一个独立运行的进程,负责上

2021-03-10 16:32:01 1310 2

原创 简单的介绍一下YARN

Apache Yarn(Yet Another Resource Negotiator的缩写)是hadoop集群资源管理器系统,Yarn从hadoop 2引入,最初是为了改善MapReduce的实现,但是它具有通用性,同样执行其他分布式计算模式。在MapReduce1中,具有如下局限性:1、扩展性差:jobtracker兼顾资源管理和作业控制跟踪功能跟踪任务,启动失败或迟缓的任务,记录任务的执行状态,维护计数器),压力大,成为系统的瓶颈2、可靠性差:采用了master/slave结构,master容

2021-03-09 21:09:46 155

原创 Mapreduce的combiner

每一个map都可能会产生大量的本地输出,Combiner的作用就是对map端的输出先做一次合并,以减少在map和reduce节点之间的数据传输量,以提高网络IO性能,是MapReduce的一种优化手段之一。combiner是MR程序中Mapper和Reducer之外的一种组件combiner组件的父类就是Reducercombiner和reducer的区别在于运行的位置:Combiner是在每一个maptask所在的节点运行Reducer是接收全局所有Mapper的输出结果;combiner的意

2021-03-09 20:57:05 119

原创 MapReduce的序列化

1.概述序列化(Serialization)是指把结构化对象转化为字节流。反序列化(Deserialization)是序列化的逆过程。把字节流转为结构化对象。当要在进程间传递对象或持久化对象的时候,就需要序列化对象成字节流,反之当要将接收到或从磁盘读取的字节流转换为对象,就要进行反序列化。Java的序列化(Serializable)是一个重量级序列化框架,一个对象被序列化后,会附带很多额外的信息(各种校验信息,header,继承体系…),不便于在网络中高效传输;所以,hadoop自己开发了一套序列化

2021-03-08 11:47:14 248

原创 MapReduce中排序发生在哪几个阶段?

一个MapReduce作业由Map阶段和Reduce阶段两部分组成,这两阶段会对数据排序,从这个意义上说,MapReduce框架本质就是一个Distributed Sort。在Map阶段,Map Task会在本地磁盘输出一个按照key排序(采用的是快速排序)的文件(中间可能产生多个文件,但最终会合并成一个),在Reduce阶段,每个ReduceTask会对收到的数据排序,这样数据便按照key分成了若干组,之后以组为单位交给reduce方法处理。很多人的误解在Map阶段,如果不使用Combiner便不会排

2021-03-08 11:44:33 581

原创 mapreduce为什么分两部分

是为了实现分布式计算,提高计算效率。很多情况下都是需要对整个数据集进行计算操作,单单的分成每个单独的小部分虽然能提高计算效率,但是导致无法完成实际需求,是没有任何意义的,所以添加一个reduce阶段,负责将分成多个部分计算的结果汇总进行处理,使得更加能满足一般需求。...

2021-03-07 18:16:08 441

原创 MapReduce的优化

一、概述优化前我们需要知道hadoop适合干什么活,适合什么场景,在工作中,我们要知道业务是怎样的,能才结合平台资源达到最有优化。除了这些我们当然还要知道mapreduce的执行过程,比如从文件的读取,map处理,shuffle过程,reduce处理,文件的输出或者存储。在工作中,往往平台的参数都是固定的,不可能为了某一个作业去修改整个平台的参数,所以在作业的执行过程中,需要对作业进行单独的设定,这样既不会对其他作业产生影响,也能很好的提高作业的性能,提高优化的灵活性。现在回顾下hadoop的优势(适用

2021-03-07 18:13:54 297

原创 如何使用MapReduce实现两表的join

map join:map side join 是针对一下场景进行的优化。两个待连接的表中,有一个表非常大,而另一个非常小,以至于小表可以直接存放到内存中。这样,我们可以将小表复制多份,让每一个map task内存中存在一份(比如放在hash table中),然后只扫描大表:对于大表中的每一条记录key/value,在hash table中查找是否具有相同key的记录,入股有,则连接后输出即可。场景:MapJoin 适用于有一份数据较小的连接情况。做法:直接将较小的数据加载到内存中,按照连接的关键字建立

2021-03-05 15:25:04 656

原创 MapReduce的shuffle过程

mapper()方法做业务逻辑处理,然后将数据传到分区方法中,给数据标记好分区,将数据发送到环形缓冲区环形缓冲区默认100M,达到80%的阈值进行溢写操作溢写之前会进行排序,排序的规则是字典序排序,排序的手段呢是快排溢写会产生很多溢写文件,溢写文件默认达到10个会进行“墨汁”合并,合并时采用的算法是归并排序也可以进行combiner局部聚合的操作,前提是局部聚合的结果不会对最终的结果有影响等到所有的maptask运行完毕,会启动一定数量的reducetask,并告知reducetask读取数据的范

2021-03-05 10:30:04 246 1

原创 MapReduce编程模型简述(mr任务流程)

1.在客户端执行submit()方法之前,会先去获取一下待读取文件的信息2.将job提交给yarn,这时候会带着三个信息过去(job.split(文件的切片信息),jar.job.xml)3.yarn会根据文件的切片信息去计算将要启动的maptask的数量,然后去启动maptask4.maptask会调用InPutFormat()方法去HDFS上面读取文件,InPutFormat()方法会再去调用RecordRead()方法,将数据以行首字母的偏移量为key,一行数据为value传给mapper(..

2021-03-04 14:33:49 494 1

原创 简单描述MapReduce(mr是什么?)

概念Hadoop MapReduce 是一个分布式计算框架,用于编写批处理应用程序。编写好的程序可以提交到 Hadoop 集群上用于并行处理大规模的数据集。MapReduce作业通常将输入数据集拆分为独立的块,这些任务由map任务以完全并行的方式进行处理。框架对map的输出进行排序,然后将其输入到reduce任务。通常,作业的输入和输出都存储在文件系统中。该框架负责安排任务,监视任务并重新执行失败的任务。MapReduce可以分成Map和Reduce两部分理解。1.Map:映射过程,把一组数据按

2021-03-04 14:31:56 487 1

原创 HDFS压缩方式

文件压缩主要有两个好处,一是减少了存储文件所占空间,另一个就是为数据传输提速。在hadoop大数据的背景下,这两点尤为重要,那么我现在就先来了解下hadoop中的文件压缩。1 gzip压缩优点:压缩率比较高,而且压缩/解压速度也比较快;hadoop本身支持,在应用中处理gzip格式的文件就和直接处理文本一样;有hadoop native库;大部分linux系统都自带gzip命令,使用方便。缺点:不支持split。应用场景:当每个文件压缩之后在130M以内的(1个块大小内),都可以考虑用gzip压缩格

2021-03-03 14:41:03 274 1

原创 HDFS集群优化

操作系统级别优化1.优化文件系统(推荐使用EXT4和XFS文件系统,相比较而言,更推荐后者,因为XFS已经帮我们做了大量的优化。)2.预读缓冲  预读技术可以有效的减少磁盘寻道次数和应用的I/O等待时间,增加Linux文件系统预读缓冲区的大小(默认为256 sectors,128KB),可以明显提高顺序文件的读性能,建议调整到1024或2048 sectors。预读缓冲区的设置可以通过blockdev命令来完成。3.放弃RAID和LVM磁盘管理方式,选用JBOD复制代码不使用RAID  应避

2021-03-02 21:15:42 304

原创 大数据面试之HDFS小文件问题及解决方案

小文件是指文件size小于HDFS上block大小的文件。这样的文件会给hadoop的扩展性和性能带来严重问题。首先,在HDFS中,任何block,文件或者目录在内存中均以对象的形式存储,每个对象约占150byte,如果有1000 0000个小文件,每个文件占用一个block,则namenode大约需要2G空间。如果存储1亿个文件,则namenode需要20G空间。这样namenode内存容量严重制约了集群的扩展。 其次,访问大量小文件速度远远小于访问几个大文件。HDFS最初是为流式访问大文件开发的,如

2021-03-01 22:40:31 241

原创 HDFS的安全模式

什么时候进入安全模式?有两种方式人为进入集群二次启动安全模式有什么特点?安全模式中只能读取数据,不能修改数据(增、删、改)在安全模式下集群在做什么?在安全模式下集群在进行恢复元数据,即在合并fsimage和edits log,并且接受datanode的心跳信息,恢复block的位置信息,将集群恢复到上次关机前的状态如何进入/退出安全模式?进入:hdfs dfsadmin -safemode enter退出:hdfs dfsadmin -safemode leave.

2021-03-01 21:38:24 75

原创 大数据面试之HDFS的fsimage和edit logs文件分别指的是什么?

.fsimage:HDFS文件系统元数据的镜像文件,其中包含HDFS文件系统的所有目录和文件inode及相关属性的序列化信息。edits:用户操作的编辑日志文件,存放HDFS文件系统的所有更新操作的动作,文件所有写操作会被记录到Edits文件中。在namenode运行期间, 客户端对hdfs的写操作都保存到edit文件中, 久而久之就会造成edit文件变得很大, 如果namenode重启, 它会将fsimage中的内容映射到内存中, 然后再一条一条执行edit文件中的操作, 所以日志文件

2021-03-01 17:08:49 469 1

安装虚拟机软件

虚拟机安装手册,详细易懂,按照文档上一步一步走就ok了。

2019-10-15

框架-springboot-总纲-v2019.06.25.docx

专业springboot讲义 里面附带案例 有答案 传智博客出版

2019-07-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除