hadoop
文章平均质量分 54
小涛手记
这个作者很懒,什么都没留下…
展开
-
MR程序在yarn上运行流程机制
1.客户端提交job到ResourceManager2.RM中的MRApplication分配一个jobid和临时的工作目录返回给客户端3.客服端进行初始化1.创建工作目录2.构建配信息conf.xml3.上传jor包到hdfs中4.读取文件计算切片(遍历输入路径下的所有文件,根据文件大小计算任务切片,文件<=128M*1.1就切分为一个任务切片,得到多个任务切片数,假如有3个任务切片就是3个maptask任务)4.客户端请求RM创建一个初始化的容器(存运算资源,cpu的个数,内存的.原创 2021-11-04 13:48:25 · 375 阅读 · 0 评论 -
简介hdfs中文件切块
hadoop hdfs 存储一个大文件,会切分成数据块128M一个.是逻辑切块比如文件278.16 MB 上传到hdfs中他就会被切块,Hadoop 2.x 默认128M为一个文件块这是切分成了3个文件块block0 , block1, block2block0的信息block id, block pool id,size大小:134217728 单位为byte = 128M而且有三个副本在 存在三个节点上 节点:wxt01 wxt02 wxt03block1信息也是128原创 2021-04-01 19:13:53 · 2520 阅读 · 1 评论 -
yarn的三种调度器
yarn的调度器FIFO SchedulerCapacity SchedulerFair SchedulerApche中默认为容量调度器CDH中默认是公平调度器在生产上更多使用公平调度器①FIFO调度器 支持单队列 先进先出按照任务提交的顺序排成一个队列,这是一个先进先出队列,在进行资源分配的时候,先给队列中第一个任务分配资源,待第一个任务资源满足后再分配下一个(比如这个队列设置了10个G资源,队列中任务按提交顺序排列job1,job2,job3…,job1分配了6G,然后job2需要4原创 2021-03-28 16:54:10 · 819 阅读 · 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 · 235 阅读 · 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 · 214 阅读 · 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 · 564 阅读 · 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 · 2424 阅读 · 0 评论