
hdfs/yarn/mapreduce剖析与优化
文章平均质量分 86
hdfs,yarn,mapredcue原理剖析,集群运维实战分享
涤生大数据
在职阿里,美团,京东,字节大数据技术专家,擅长大数据开发,集群架构/运维,爱好python数据分析/爬虫,
加 v: dsflink 可免费转行评估,职业规划,校招规划,大数据进阶指导,简历把脉
欢迎一起交流
展开
-
开发实战角度:distinct实现原理及具体优化总结
Distinct是一种常用的操作,在所有数据库的SQl语言中都是一个非常重要的操作,。基本原理是将输入的数据集按照指定的列进行分组,在每个分组内部去除重复的值,最后将每个分组的唯一值合并成一个结果集。最近一位好学的小伙伴在学习的过程中,学习到count distinct 的这块内容的时候,,今天就来给大家总结一下。group by的操作适合我们的聚合时distinct息息相关的,所以在我们总结distinct 之前 ,我们不得不先来看一下group by 操作的具体实现原理。原创 2024-01-22 09:40:56 · 1736 阅读 · 0 评论 -
Hadoop实践指南:揭秘HDFS元数据并解析案例
元数据(Metadata),描述数据的数据(data about data)。元数据:关于文件或目录的描述信息,如文件所在路径、文件名称、文件类型等等,这些信息称为文件的元数据metadata命名空间:文件系统中,为了便于管理存储介质上的,给每个目录、目录中的文件、子目录都起了名字,这样形成的层级结构,称之为命名空间;HDFS元数据:文件目录树、所有的文件(目录)名称、文件属性(生成时间、副本、权限)、每个文件的块列表、每个block块所在的datanode列表;原创 2023-11-25 10:45:00 · 1551 阅读 · 1 评论 -
MapReduce任务个数如何影响执行效率?性能优化从这里做起
在我们的整个验证过程中, Hive中的SQL演示,在日常的数据分析工作中是很常见的。同样的SQL,同样规模数据,为啥运行时间不一样?可能并不是因为你写的SQL有问题,不妨思考下,会不会是底层存储的问题所以,课后作业来了:HDFS 小文件会带来哪些影响?原创 2023-10-17 20:15:00 · 535 阅读 · 0 评论 -
SQL优化之诊断篇:快速定位生产性能问题实践
【该阶段作业卡住的可能原因 2 】小文件太多。ODPS 会根据文件大小决定 split,小文件多了会导致计算 split 的过程耗时增加。原创 2023-08-23 22:15:00 · 377 阅读 · 0 评论 -
大数据开发面试必问:Hive调优技巧系列二
当input的文件都很大,任务逻辑复杂,map执行非常慢的时候,可以考虑增加Map数,来使得每个map处理的数据量减少,从而提高任务的执行效率。增加map的方法为:根据computeSliteSize(Math.max(minSize,Math.min(maxSize,blocksize)))=blocksize=128M公式,调整maxSize最大值。让maxSize最大值低于blocksize就可以增加map的个数。原创 2023-08-07 15:14:00 · 463 阅读 · 0 评论 -
MPP架构与Hadoop架构是一回事吗?
本文旨在做一些概念上的澄清,并从技术角度论述两者同宗同源且会在未来殊途同归。原创 2022-12-15 07:00:00 · 1417 阅读 · 0 评论 -
hive moving data报错,unable to move source...,yarn显示任务执行成功
1.报错情况有个小伙伴hive任务报错,moving data时,报错如下Failded with exception:unable to move source hdfs://...........2.问题排查这种情况一般跟任务没有关系了,说明hive任务已经执行成功了。因为默认hive,spark任务数据先写到一个临时目录,等各个节点的数据都写完整以后,校验没问题了,在move到表的hdfs路径下(所谓move其实就是重命令),这个过程报错,说明跟hdfs有关系,跟yarn,hiv.原创 2021-11-15 15:36:13 · 6818 阅读 · 5 评论 -
一篇文章彻底搞定跨集群跨版本distcp的使用
1.Distcp是是什么?DistCp(分布式复制)是一种用于大型集群间/集群内复制的工具。它使用 MapReduce 来实现其分布、错误处理和恢复以及报告。它将文件和目录列表扩展为映射任务的输入,每个任务将复制源列表中指定的文件的一个分区。...原创 2021-08-02 13:03:25 · 5861 阅读 · 2 评论 -
深入YARN系列3:剖析NodeManager架构,组件与生产应用
深入YARN系列2:剖析ResourceManaer的架构与核心源码分析深入YARN系列3:剖析NodeManager架构,组件机制,生产应用深入YARN系列4:剖析ApplicationMaster的任务管理机制与生产调优深入YARN系列5:YARN三大组件配合使用与YARN生产性能优化1.回顾YARN的三大组件1.1ResourceManager全局资源管理器每个集群有一个RM守护进程(可HA),RM负责整个系统的资源分配与管理;它主要有调度器ResourceScheduler和应用程原创 2021-06-16 01:17:21 · 1789 阅读 · 4 评论 -
深入YARN系列2:剖析ResourceManager的架构与组件使用
深入YARN系列主要分为:深入YARN系列1:窥全貌之YARN架构,设计,通信原理等深入YARN系列2:剖析ResourceManaer的架构与核心源码分析深入YARN系列3:剖析NodeManager架构,组件机制,生产应用深入YARN系列4:剖析ApplicationMaster的任务管理机制与生产调优深入YARN系列5:YARN三大组件配合使用与YARN生产性能优化...原创 2021-06-15 10:33:26 · 1818 阅读 · 5 评论 -
超详细版企业离线部署CDH6.10集群与配置使用
进入大数据行业数载,也从一个开发小白走到了今天,期间也历经过一摸番着石头过河的探索,到如今的胸有点墨;玩过demo,使用过负责过上千节点的大数据集群开发与使用;被人面虐过,也面挂过很多人;如今,想趁着自己心中有火,眼里有光的年纪,把自己的一点心得与经验分享大数据行业的爱好者。也希望有助于后面的童鞋少走弯路,也欢迎大家私信交流。持续每周更新。死磕大数据系列1.死磕大数据系列将从企业上千节点集群的搭建(包括cdh集群,以及升级后apache hadoop3集群),性能优化,牵扯到的组件包括...原创 2021-06-11 10:51:55 · 7355 阅读 · 6 评论 -
深入YARN系列1:窥全貌之YARN架构,设计,通信原理等
深入YARN系列主要分为:深入YARN系列1:窥全貌之YARN架构,设计,通信原理等 深入YARN系列2:剖析ResourceManaer的架构与核心源码分析 深入YARN系列3:剖析NodeManager架构,组件机制,生产应用 深入YARN系列4:剖析ApplicationMaster的任务管理机制与生产调优 深入YARN系列5:YARN三大组件配合使用与YARN生产性能优化1.YARN的架构与设计 YARN的总体架构模式是Master/Slave主从模式。一个全局的R...原创 2021-06-08 21:05:52 · 2573 阅读 · 12 评论 -
大数据开发要学会看yarn日志:Task容错机制,任务推测执行,计数器
yarn的web界面是所有大数据开发都会或多或少查看的,比如任务运行失败,任务运行缓慢,查看详细任务运行进度,renw1.Task容错机制原理与使用原创 2021-06-07 18:42:02 · 2605 阅读 · 12 评论 -
为啥集群小文件治理那么重要,你真的懂吗?
小文件是 Hadoop 的常见挑战,如果不小心处理,它们可能会导致许多并发症。Apache Hadoop 分布式文件系统 (HDFS) 旨在存储和处理 TB 和 PB 级的大型数据集。但是,HDFS 存储小文件效率低下,导致 Namenode 内存利用率和 RPC 调用效率低下,块扫描吞吐量下降,应用层性能降低。在这篇博文中,我们将定义小文件存储问题,并研究解决它的方法,同时避免复杂性。...原创 2021-06-01 18:22:36 · 8951 阅读 · 23 评论 -
大数据架构师一定要弄清楚Fair Scheduler和Capacity Scheduler调度器
1.项目背景 公司集群上千物理节点,存储容量100PB+,当前使用50PB左右,YARN的计算内存150Tb+,CPU 30000 Cores+。当前使用的CDH集群,因为性能瓶颈,需要迁移到自建的apache Hadoop3集群。CDH集群默认的是Fair Scheduler,Ambari(Hortonwork)默认使用Capacity Scheduler。CDH和HDP合并后,新的CDP会默认使用Capacity Scheduler调度器。所以如果需要将CDH群集迁移到C...原创 2021-05-26 18:58:18 · 4537 阅读 · 12 评论 -
mapreduce关于数据压缩使用与支持的格式
1.压缩概述数据压缩这是mapreduce的一种优化策略:通过压缩编码对mapper或者reducer的输出进行压缩,以减少磁盘IO,提高MR程序运行速度(但相应增加了cpu运算负担) Mapreduce支持将map输出的结果或者reduce输出的结果进行压缩,以减少网络IO或最终输出数据的体积 压缩特性运用得当能提高性能,但运用不当也可能降低性能 压缩使用基本原则:...原创 2019-06-17 15:49:00 · 4150 阅读 · 2 评论 -
关于HDFS中数据块block的设计和原理
HDFS,全称Hadoop Distributed FileSystem.是一个文件系统,用于存储文件,通过目录树/来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色(在一些非正式的文档或者旧文档中,也简称DFS)。1.HDFS的设计特点: ①可以进行超大文件存储 ②对商用硬件要求不高原创 2018-01-21 02:09:05 · 16189 阅读 · 4 评论 -
hadoop之大数据生态系统的前世今生
一、从Hadoop框架讨论大数据生态1.1 Hadoop是什么1)Hadoop是一个由Apache基金会所开发的分布式系统基础架构2)主要解决,海量数据的存储和海量数据的分析计算问题。3)广义上来说,HADOOP通常是指一个更广泛的概念——HADOOP生态圈1.2 Hadoop发展历史1)Lucene--Doug Cutting开创的开源软件,用java书写原创 2018-01-21 00:26:46 · 3292 阅读 · 0 评论 -
combiner函数的使用注意事项和代码演示
1.Combiner功能是:合并汇总(shuffle中的组件)1)combiner是MR程序中Mapper和Reducer之外的一种组件。2)combiner组件的父类就是Reducer,也就是说combiner是继承之reducer的,相当于reducer3)combiner和reducer的区别在于运行的位置:Combiner是在每一个maptask所在的节点运行,然后Reduce原创 2018-01-20 23:40:20 · 5658 阅读 · 2 评论 -
为什么要使用分布式存储和分布式计算?
在这个数据爆炸的时代,产生的数据量不断地在攀升,从Gb,Tb,Pb,Zb.挖掘其中数据的价值也是企业在不断地追求的终极目标。但是要想对海量的数据原创 2018-01-20 20:51:40 · 16170 阅读 · 1 评论 -
大数据开发要知道的关于AVRO的知识
Avro是apache Avro的简称,其实是一个独立于编程语言的数据序列化系统,设计用于支持大批量数据交换的应用。干过大数据都知道,hadoop自身提供了一个轻量级的序列化的系统Writable.虽然这个Writable相比Java提供的系列化Serializable更加轻便简洁好用,但是Writable类型也有很多不足,比如缺乏语言的可移植性,不能让Writable类型处理的数据在java,C原创 2018-01-18 16:32:07 · 4815 阅读 · 0 评论 -
MapTask并行度和切片机制
一. MapTask并行度决定机制maptask的并行度决定map阶段的任务处理并发度,进而影响到整个job的处理速度那么,mapTask并行实例是否越多越好呢?其并行度又是如何决定呢?1.1 mapTask并行度的决定机制一个job的map阶段并行度由客户端在提交job时决定而客户端对map阶段并行度的规划的基本逻辑为:将待处理数据执行逻辑切片(即按照一个特定切片大小原创 2017-12-11 16:40:58 · 31277 阅读 · 2 评论 -
Shuffle阶段:partition分区以及自定义使用注意事项
一:partition分区(shuffle阶段)Mapreduce中会将map输出的kv对,按照相同key分组,然后分发给不同的reducetask(所以这也决定了为什么最终的文件个数,即分区个数跟reducetask数量一样了。)。默认分区是根据key的hashCode对reduceTasks个数取模得到的。用户没法控制哪个key存储到哪个分区。默认系统的patitioner类,实现类时ha原创 2017-12-11 16:28:51 · 30447 阅读 · 2 评论 -
开发中关于mapreduce中参数的调优策略
使用hadoop进行大数据运算,当数据量及其大时,那么对MapReduce性能的调优重要性不言而喻。尤其是Shuffle过程中的参数配置对作业的总执行时间影响特别大。下面基于官网和工作中的情况总结和相关的调优策略。 1.关于map端的调优属性 属性名称类型默认值说明mapreduce.task.io.sort.mbint 10原创 2017-12-09 21:44:02 · 11887 阅读 · 0 评论 -
hadoop集群常见的报错原因
1)防火墙没关闭、或者没有启动yarnINFO client.RMProxy: Connecting to ResourceManager at hadoop108/192.168.10.108:80322)主机名称配置错误3)ip地址配置错误4)ssh没有配置好5)root用户和robot两个用户启动集群不统一6)配置文件修改不细心7)未编译源码Unabl原创 2017-12-05 12:03:00 · 5320 阅读 · 0 评论 -
一个wordcount程序轻松玩转MapReduce编程模型
可以毫不夸张的说,几乎开发中绝大部分的MR程序都是基于wordcount编程模型而来,或者说用wordcount变化而来(改变的主要是业务方面的逻辑)。所以,熟练掌握wordcount编程模型,是掌握MR编程的基础。 MAPREDUCE示例编写及编程规范1.1编程规范1用户编写的程序分成三个部分:Mapper,Reducer,Driver(提交运行mr程序的客户...原创 2017-12-04 10:02:02 · 31174 阅读 · 0 评论 -
一张图让你轻松搞定yarn资源调度流程
1。yarn概述 Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而mapreduce等运算程序则相当于运行于操作系统之上的应用程序 2.Yarn的重要概念1)yarn并不清楚用户提交的程序的运行机制2)yarn只提供运算资源的调度(用户程序向yarn申请资源,yarn就负责分配资源)3)yarn中的主管角色叫Resour原创 2017-12-03 08:53:55 · 19266 阅读 · 2 评论 -
hadoop之快照管理,存档,回收站等功能解说
HDFS其他功能1集群间数据拷贝1)scp实现两个远程主机之间的文件复制 scp -r hello.txtroot@hadoop103:/user/robot/hello.txt //推 push scp -rroot@hadoop103:/user/robot/hello.txt hello.txt原创 2017-12-03 08:21:36 · 6627 阅读 · 0 评论 -
hadoop集群中运行中时服役和退役节点
集群中服役新数据节点0)需求:随着公司业务的增长,数据量越来越大,原有的数据节点的容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的数据节点。1)环境准备 (1)克隆一台虚拟机(克隆已经配置好的主机,或者是服役中的节点。) 如果是没有配置7个配置文件的节点机,要用hadoop102分发hadoop102的hadoop文件覆盖配置(7个原创 2017-12-03 08:20:26 · 9013 阅读 · 1 评论 -
SecondaryNameNode原理和配置解说
一.SecondaryNameNode的作用: 用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。换句话说其实SecondaryNameNode是namenode的冷备份,而namenode的HA高可用才是namenode的热备份。区别是SecondaryNameNode中存储的元数据不是实时的,滞后于namenode主节点.Secondary N原创 2017-12-02 15:18:13 · 7415 阅读 · 0 评论 -
编译Hadoop源码全流程讲解
为什么需要编译Hadoop源码? 因为hadoop官网只提供了32位,若想用64的,需要自己编译,或者下载别人已经编译好的版本。1前期准备工作1)CentOS联网,全程大概需要40分钟,[root@hadoop101桌面]# vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0原创 2017-12-02 14:43:58 · 11661 阅读 · 2 评论 -
mapreduce图示原理深入详解,几张图搞定
1. MAPREDUCE原理篇Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架;Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上;1.1 为什么要MAPREDUCE(1)海量数据在单机上处理因为硬件资源限制,无法胜任(2)而一旦将单机版程原创 2017-11-14 12:45:51 · 36246 阅读 · 1 评论 -
datanode工作机制详解
DATANODE的工作机制问题场景:1、集群容量不够,怎么扩容?2、如果有一些datanode宕机,该怎么办?3、datanode明明已启动,但是集群中的可用datanode列表中就是没有,怎么办?1 概述1、Datanode工作职责: 存储管理用户的文件块数据 定期向namenode汇报自身所持有的block信息(通过心跳信息上报)(这点很原创 2017-11-14 12:38:38 · 10506 阅读 · 0 评论 -
深入浅出之namenode工作原理剖析
问题场景:1、集群启动后,可以查看文件,但是上传文件时报错,打开web页面可看到namenode正处于safemode状态,怎么处理?2、Namenode服务器的磁盘故障导致namenode宕机,如何挽救集群及数据?3、Namenode是否可以有多个?namenode内存要配置多大?namenode跟集群数据存储能力有关系吗?4、文件的blocksize究竟调大好还是调小好?…原创 2017-11-14 12:28:04 · 16263 阅读 · 1 评论 -
hdfs读写文件核心流程详解巧说
一.hdfs写数据流程(面试重点)1)客户端(fs)向namenode请求上传文件,namenode检查目标文件是否已存在,父目录是否存在。2)namenode返回是否可以上传。3)客户端请求第一个 block上传到哪几个datanode服务器上。4)namenode返回3个datanode节点,分别为dn1、dn2、dn3。5)客户端请求dn1上传数据,dn1收到原创 2017-11-14 12:17:52 · 12098 阅读 · 1 评论