
hadoop
文章平均质量分 54
小涛手记
这个作者很懒,什么都没留下…
展开
-
MR程序在yarn上运行流程机制
1.客户端提交job到ResourceManager 2.RM中的MRApplication分配一个jobid和临时的工作目录返回给客户端 3.客服端进行初始化 1.创建工作目录 2.构建配信息conf.xml 3.上传jor包到hdfs中 4.读取文件计算切片(遍历输入路径下的所有文件,根据文件大小计算任务切片,文件<=128M*1.1就切分为一个任务切片,得到多个任务切片数,假如有3个任务切片就是3个maptask任务) 4.客户端请求RM创建一个初始化的容器(存运算资源,cpu的个数,内存的.原创 2021-11-04 13:48:25 · 419 阅读 · 0 评论 -
简介hdfs中文件切块
hadoop hdfs 存储一个大文件,会切分成数据块128M一个. 是逻辑切块 比如文件278.16 MB 上传到hdfs中他就会被切块,Hadoop 2.x 默认128M为一个文件块 这是切分成了3个文件块block0 , block1, block2 block0的信息 block id, block pool id, size大小:134217728 单位为byte = 128M 而且有三个副本在 存在三个节点上 节点:wxt01 wxt02 wxt03 block1信息 也是128原创 2021-04-01 19:13:53 · 2628 阅读 · 1 评论 -
yarn的三种调度器
yarn的调度器 FIFO Scheduler Capacity Scheduler Fair Scheduler Apche中默认为容量调度器 CDH中默认是公平调度器 在生产上更多使用公平调度器 ①FIFO调度器 支持单队列 先进先出 按照任务提交的顺序排成一个队列,这是一个先进先出队列,在进行资源分配的时候,先给队列中第一个任务分配资源,待第一个任务资源满足后再分配下一个(比如这个队列设置了10个G资源,队列中任务按提交顺序排列job1,job2,job3…,job1分配了6G,然后job2需要4原创 2021-03-28 16:54:10 · 893 阅读 · 0 评论 -
MR中的combiner
combiner 理解 Combiner可以理解为在map端进行了一次reduce操作,将map端的输出数据作为combiner的输入数据,进行一次预聚合,减少了要发送到reduce端的数据. 图解: 适用范围 适用于求和,求最大值得操作. 不适用求平均值得操作. 自定义combiner 自定义combiner添加MyCombiner类,继承Reducer类,重写reduce方法 最后在主程序中添加自定义得MyCombiner类 job.setCombinerClass(MyCombiner.class原创 2021-03-28 15:06:02 · 279 阅读 · 0 评论 -
hdfs小文件问题及解决
hdfs小文件问题 1.会有什么影响 namenode的内存 分片 => maptask的个数 JVM开关 ①namenode的内存 一个文件块占用 namenode 150字节 的内存, 那么如果有1亿个小文件 的话,每个占namenode150字节的内存,非常大. ②分片 => maptask的个数 小文件的话不满128M,都是一个文件对应一个maptask. 如果一个maptask占用1G内存,那么你的内存就会被耗尽. 2.解决 namenode内存 第一种是采用har归档将多个小文原创 2020-12-16 18:52:02 · 266 阅读 · 0 评论 -
hdfs文件上传下载流程
1.hdfs读流程 客户端跟namenode通信查询元数据,namenode通过查询元数据,找到数据快所在的datanode服务器(hadoop01,hadoop02,hadoop03). namenode将datanode服务器信息返回给客户端. 客户端就近随机挑选一台datanode服务器请求建立socket流. datanode开始发送数据,以packet为单位(64k). 客户端以packet为单位接收,先在本地缓存,然后写入到目标文件. 2.hdfs写流程 客户端跟namenode通信请求上原创 2020-12-16 17:50:06 · 610 阅读 · 0 评论 -
MapReduce处理数据流程
一.mapreduce流程 Inputformat会将切片中每一行的数据表达成kv形式,k是这一行数据的偏移量(longwritable),v是每一行数据内容类型(text) map端会将每一行的数据进行处理,生成若干对kv作为中间结果,经过hashpartition分区后进入环形缓冲区,当环形缓存区满80%后会将数据溢写磁盘(这里会有溢写文件的合并叫做merge) 然后reduce端通过http的形式请求task tracker获取map task输出的文件,reduce端接收到数据后会进行一系列的合并原创 2021-03-28 13:38:17 · 2521 阅读 · 0 评论