Hadoop
文章平均质量分 86
HDFS MapReduce Yran
CyAuroras
这个作者很懒,什么都没留下…
展开
-
YARN的调度器Scheduler
目录一、什么是Scheduler(调度器)二、调度器种类2.1FIFO Scheduler(FIFO调度器)2.2Capacity Scheduler(容量调度器)3.3Fair Scheduler(公平调度器)一、什么是Scheduler(调度器)Scheduler即调度器,根据容量、队列等限制条件(如每个队列分配⼀定的资源,最多执⾏⼀定数量的作业等),将系统中的资源分配给各个正在运⾏的应⽤程序。要想给任务分配container容...原创 2021-08-01 13:37:44 · 268 阅读 · 0 评论 -
YARN的概述
为克服Hadoop 1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop 1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架 YARNApache YARN(Yet another Resource Negotiator的缩写)是Hadoop集群的资源 管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序...原创 2021-07-31 15:19:43 · 274 阅读 · 0 评论 -
YARN的执行流程
在MR程序运⾏时,有五个独⽴的进程: 1.YarnRunner:⽤于提交作业的客户端程序2.ResourceManager:yarn资源管理器,负责协调集群上计算机资源的分配 3. NodeManager:yarn节点管理器,负责启动和监视集群中机器上的计算容器 (container) 4.Application Master:负责协调运⾏MapReduce作业的任务,他和任务都在容器中运⾏,这些容由资源管理器...原创 2021-08-01 13:37:26 · 1230 阅读 · 0 评论 -
MapReduce的参数优化
目录一、资源相关参数二、容错相关参数三、本地运⾏MapReduce作业四、效率和稳定性相关参数一、资源相关参数以下参数是在⽤户⾃⼰的mr应⽤程序中配置在mapred-site.xml就可以⽣效1. mapreduce.map.memory.mb: ⼀个Map Task可使⽤的资源上限(单位:MB), 默认为1024。如果Map Task实际使⽤的资源量超过该值,则会被强制杀死。2. mapreduce.reduce.memory.mb: ⼀个Reduce Tas原创 2021-08-01 16:53:35 · 347 阅读 · 0 评论 -
MapReduce的运⾏流程
目录一、MapReduce运⾏流程简述二、运⾏流程之MapTask三、运⾏流程之ReduceTask一、MapReduce运⾏流程简述⼀个完整的MapReduce程序在分布式运⾏时有三类实例进程:1) MRAppMaster:负责整个程序的过程调度及状态协调 2) MapTask:负责map阶段的整个数据处理流程 3) ReduceTask:负责reduce阶段的整个数据处理流程当⼀个作业提交后(mr程...原创 2021-08-01 15:34:18 · 125 阅读 · 0 评论 -
MapReduce的计算模型介绍
一、MapReduce核⼼思想MapReduce思想在生活中处处可见。或多或少都曾接触过这种思想。MapReduce的思想核心是“分而治之”,适用于大量复杂的任务处理场景(大规模数据处理场景)。即使是发布过论文实现分布式计算的谷歌也只是实现了这种思想,而不是自己原创。阅读资料 Hadoop的MapReduce核⼼技术起源于⾕歌在2004年发表的关于MapReduce系统的论⽂介绍。论⽂中有这么⼀句话:Our abstraction is inspired by ...原创 2021-08-01 14:17:32 · 1557 阅读 · 0 评论 -
MapReuce的combiner函数
概念每一个 map 都可能会产生大量的本地输出,Combiner 的作用就是对 map 端的输出先做一次合并,以减少在 map 和 reduce 节点之间的数据传输量,以提高网络IO 性能,是 MapReduce 的一种优化手段之一特点总结: 1. Combiner是MR程序中Mapper和Reduce之外的⼀种组件 2. Combiner组件的⽗类就是Reducer 3. Combiner和Reducer之间的区别在于运⾏的位置 4. Reduce阶...原创 2021-08-01 16:44:07 · 234 阅读 · 0 评论 -
Hadoop的数据压缩
目录一、概述二、MR⽀持的压缩编码三、Reducer输出压缩四、Mapper输出压缩五、压缩⽂件的读取一、概述这是MapReduce的⼀种优化策略:通过压缩编码对mapper或者reducer的输出进⾏压缩,以减少磁盘IO,提⾼MR程序运⾏速度(但相应增加了cpu运算负担)1) MapReduce⽀持将map输出的结果或者reduce输出的结果进⾏压缩,以减少⽹络IO或最终输出数据的体积 2) 压缩特性运⽤得当能提⾼性能,但运⽤不当也可能...原创 2021-08-01 17:05:40 · 182 阅读 · 0 评论 -
MapReduce的shuffle
一、概述MapReduce会确保每个reducer的输⼊都是按键排序的。从map⽅法输出数据开始、到作为输⼊数据传给reduce⽅法的过程称为shuffle。在此,我们将学习shuffle是如何⼯作的,因为它有助于我们理解⼯作机制(如果需要优化MapReduce程序)。shuffle属于不断被优化和改进的代码库的⼀部分,因此会随着版本的不同,细节上可能会发⽣变量。不管怎样,从许多⽅⾯来看,shuffle是MapReduce的“⼼脏 “,是奇迹发⽣的地⽅。二、环形缓冲...原创 2021-08-01 16:35:34 · 277 阅读 · 0 评论 -
MapReduce的分片机制源码解析
目录一、分⽚的概念二、分片大小的选择三、源码解析1)FileSplit源码解析2)FileInputFormat源码解析3)TextInputFormat源码解析4) LineRecordReader源码解析四、分⽚总结1) 分⽚⼤⼩参数2) 创建过程总结3) 分⽚细节问题总结4) 分⽚与块的区别列如:一、分⽚的概念MapReduce在进⾏作业提交时,会预先对将要分析的原始数据进⾏划分处理,形成⼀个个等⻓的逻辑数据对象,称之为...原创 2021-08-01 16:07:09 · 415 阅读 · 0 评论 -
MapReduce的编程规范
目录一、Mapper部分二、Reducer部分三、Driver部分四、wordcount演示实例4.1需求:4.2测试数据:4.3代码实现4.3.1 pom.xml⽂件的配置4.3.2 定义⼀个mapper内部类4.3.3 定义⼀个reducer内部类4.3.4 定义⼀个Driver类⽤户编写的程序分为3个部分:Mapper、Reducer、Driver(提交mr程序的客户端)一、Mapper部分1. ⾃定义类,继承Mapper类...原创 2021-08-01 14:44:12 · 371 阅读 · 0 评论 -
HDFS的HA
目录一、相关进程二、HA的配置2.1修改hdfs-site.xml⾥2.2在core-site.xml⽂件⾥修改部分属性2.3将配置信息分发到其他节点上三、HA的启动3.1 第⼀种情况:集群使⽤⼀段时间后,转为HA.3.2第⼆种情况:搭建集群时,直接搭建HA一、相关进程1.QuorumPeerMain:zookeeper服务组件对应的进程 2.JournalNode:qjm对应的守护进程 3.DFSZKFailoverController:z.原创 2021-07-31 15:09:39 · 322 阅读 · 0 评论 -
HA的⾃动容灾原理
一、组件如果想进⾏HA的⾃动故障转移,那么需要为HDFS部署两个新组件ZooKeeper quorumZKFailoverController进程(缩写为ZKFC)。1.1 Zookeeper quorumApache ZooKeeper是⼀项⾼可⽤性服务,⽤于维护少量的协调数据,将数据中的更 改通知客户端并监视客户端的故障。HDFS⾃动故障转移的实现依赖ZooKeeper进⾏ 以下操作:1 )故障检测 ...原创 2021-07-31 14:38:12 · 352 阅读 · 0 评论 -
HDFS的读写流程
1. 读流程的详解读操作:- hdfs dfs -get /file02 ./file02 - hdfs dfs -copyToLocal /file02 ./file02 - FSDataInputStream fsis = fs.open("/input/a.txt"); - fsis.read(byte[] a) - fs.copyToLocal(path1,path2) 官网图如下:...原创 2021-07-17 17:29:55 · 442 阅读 · 0 评论 -
HDFS的⼯作机制及动态上下线
目录1. 开机启动Namenode过程1.1. ⾮第⼀次启动集群的启动流程1.2. 第⼀次启动集群的启动流程2. 安全模式介绍3. DataNode与NameNode通信(⼼跳机制)4. SecondayNamenode的⼯作机制(检查点机制)5. ⽹络拓扑6. 机架感知7. 节点动态上线7.1. 属性说明7.2. 动态上线步骤8. 节点动态下线8.1. 属性说...原创 2021-07-17 17:19:27 · 484 阅读 · 0 评论 -
HDFS的体系结构
体系结构解析HDFS采⽤的是master/slaves这种主从的结构模型来管理数据,这种结构模型主要由 四个部分组成,分别是Client(客户端Namenode(名称节点Datanode(数据节点)和。真正的⼀个HDFS集群包括⼀个Namenode和若⼲数⽬的Datanode。Namenode(名称节点Namenode是⼀个中⼼服务器,负责管理⽂件系统的命名空间它在内存中维护着命名空间的最新状态,同时并持久性⽂件(fsimage和edit。原创 2021-07-17 16:47:37 · 4645 阅读 · 0 评论 -
HDFS块的讲解及优缺点
1. 传统型分布式⽂件系统的缺点现在想象⼀下这种情况:有四个⽂件 0.5TB的file1,1.2TB的file2,50GB的file3, 100GB的file4;有7个服务器,每个服务器上有10个1TB的硬盘。在存储⽅式上,我们可以将这四个⽂件存储在同⼀个服务器上(当然⼤于1TB的⽂件 需要切分),我们需要使⽤⼀个⽂件来记录这种存储的映射关系吧。⽤户是可以通过 这种映射关系来找到节点硬盘相应的⽂件的。那么缺点也就暴露了出来:第⼀、负载不均衡。 ...原创 2021-07-17 16:32:05 · 2478 阅读 · 0 评论 -
HDFS的Shell操作
目录1. 创建⽬录2. 上传指令3. 查看指令4. 下载指令5. 删除命令6. 查看磁盘利⽤率和⽂件⼤⼩7. 向分布式⽂件系统中的⽂件⾥追加内容8. 修改权限的9. 修改⽂件的副本数10. 查看⽂件的状态11. 测试12. 创建空⽂件13. 显示当前⽂件夹及⼦⽂件夹的数量14. 合并下载15. 移动hdfs中的⽂件(更名)16. 复制hdfs中的⽂件到hdfs的另⼀个⽬录17. 设置Hadoop回收站trash1. 创建⽬录...原创 2021-07-17 16:17:16 · 284 阅读 · 0 评论 -
Hadoop安装部署&全分布式搭建
1. 完全分布式模式介绍完全分布式,指的是在真实环境下,使⽤多台机器,共同配合,来构建⼀个完整的分布式 ⽂件系统。 在真实环境中,hdfs中的相关守护进程也会分布在不同的机器中,⽐如: -1. namenode守护进程尽可能的单独部署在⼀台硬件性能相对来说⽐较好的机器中。 -2. 其他的每台机器上都会部署⼀个datanode守护进程,⼀般的硬件环境即可。 -3. secondarynamenode守护进程最好不要和namenode在同⼀台机器上。2. 平台软件说明 .原创 2021-07-17 15:57:01 · 1830 阅读 · 0 评论 -
Hadoop安装部署&伪分布式搭建
1.伪分布式模式介绍1.特点 - 在⼀台机器上安装,使⽤的是分布式思想,即分布式⽂件系统,⾮本地⽂件系 统。 - Hdfs涉及到的相关守护进程(namenode,datanode,secondarynamenode) 都运⾏在⼀台机器上,都是独⽴的java进程。 2. ⽤途 ⽐Standalone mode 多了代码调试功能,允许检查内存使⽤情况,HDFS输⼊输 出,以及其他的守护进程交互。2. 平台软件说明 平台&软件 说明原创 2021-07-17 14:49:18 · 1042 阅读 · 0 评论 -
Hadoop安装部署&本地模式搭建
目录本地模式介绍1.环境搭建: JDK的安装2.Hadoop的安装3.程序案例演示本地模式介绍- 特点: 本地模式,即运⾏在单台机器上,没有分布式思想,使⽤的是本地⽂件系统。 - ⽤途: 本地模式主要⽤于对MapReduce程序的逻辑进⾏调试,确保程序的正确。由于在本 地模式下测试和调试MapReduce程序较为⽅便,因此,这种模式适宜⽤在开发阶段。 **1.2. 搭建过程** 平台&软件 说明原创 2021-07-06 22:55:03 · 763 阅读 · 1 评论