![](https://img-blog.csdnimg.cn/direct/ceb8f28656dd49bda81e8f62edd3956c.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Hadop
文章平均质量分 88
Hadop相关
欲无缘
Java后端开发 陆续分享后端分布式、中间件、 服务器运维、云原生、前端、移动开发、大数据等相关知识。
展开
-
Yarn工作机制 & 三种调度器
•公平调度器设计目标是:在时间尺度上,所有作业获得公平的资源。是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的。默认的资源调度器是 Capacity Scheduler。为了防止同一个用户的作业独占队列中的资源,该调度器会对。框架默认调度器是 Fair Scheduler。1、多队列:每个队列可配置一定的资源量,(2)容量保证:管理员可为。2、容量保证:管理员可为。1)与容量调度器相同点。,则其他队列借调的资源。2)与容量调度器不同点。(1)核心调度策略不同。(3)灵活性:如果一。转载 2024-01-12 14:38:46 · 609 阅读 · 0 评论 -
MapReduce概述
MapReduce是一个分布式运算程序的编程框架,其核心功能为把用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序并发运行在Hadoop集群上。转载 2024-01-11 14:44:05 · 37 阅读 · 0 评论 -
HDFS相关Shell命令
3)-chgrp、-chmod、-chown:Linux文件系统中的用法一样,修改文件所属权限。2)-copyFromLocal:从本地文件系统中拷贝文件到HDFS路径去。4)-appendToFile:追加一个文件到已经存在的文件末尾。1)-moveFromLocal:从本地剪切粘贴到HDFS。5)-cp:从HDFS的一个路径拷贝到HDFS的另一个路径。11)-setrep:设置HDFS中文件的副本数量。7)-tail:显示一个文件的末尾1kb的数据。9)-rm -r:递归删除目录及目录里面内容。原创 2024-01-08 17:38:07 · 377 阅读 · 0 评论 -
MapReduce InputFormat & 工作流程
思考:1G 的数据,启动 8 个 MapTask,可以提高集群的并发处理能力。框架默认的 TextInputFormat 切片机制是对任务按文件规划切片,不管文件多小,都会是一个单独的切片,都会交给一个 MapTask,这样如果有大量小文件,就会产生大量的MapTask,处理效率极其低下。(7)合并成大文件后,Shuffle 的过程也就结束了,后面进入 ReduceTask 的逻辑运算过程(从文件中取出一个一个的键值对 Group,调用用户自定义的 reduce()方法)转载 2024-01-12 10:30:44 · 66 阅读 · 0 评论 -
MapReduce Shuffle机制
(1)自定义类继承Partitioner,重写getPartition()方法(2)在Job驱动中,设置自定义Partitioner(3)自定义Partition后,要根据自定义Partitioner的逻辑设置相应数量的ReduceTask。转载 2024-01-12 10:37:19 · 45 阅读 · 0 评论 -
HDFS读写数据流程、NameNode与DataNode工作机制
这样又会带来新的问题,当在内存中的元数据更新时,如果同时更新FsImage,就会导致效率过低,但如果不更新,就会发生一致性问题,一旦NameNode节点断电,就会产生数据丢失。因此,引入Edits文件(只进行追加操作,效率很高)。由于Edits中记录的操作会越来越多,Edits文件会越来越大,导致NameNode在启动加载Edits时会很慢,所以需要对Edits和Fsimage进行合并(所谓合并,就是将Edits和Fsimage加载到内存中,照着Edits中的操作一步步执行,最终形成新的Fsimage)。原创 2024-01-11 10:18:25 · 1430 阅读 · 0 评论 -
MapReduce入门详解(WordCount)
注意这里我们输入路径是集群上的/haha路径下的文件,输出路径为/output (输出路径在程序执行前不允许有重名路径)(如Text类型对应于Java中的String类型,IntWritable类型对应于Java中的int类型)(2) Mapper的输入数据是KV对的形式(KV类型任意,通过泛型体现)(4) Mapper的输出数据是KV对的形式(KV类型任意,通过泛型体现)(3) Reducer中的业务逻辑写在reduce()方法中。(3) Mapper中的业务逻辑写在map()方法中。转载 2024-01-11 16:12:06 · 182 阅读 · 0 评论 -
HDFS相关API操作
HDFS API官方文档:https://hadoop.apache.org/docs/r3.3.1/api/index.html。上面这样写代码有点冗余,我们通过AOP切面将初始化和关流的操作拆分出来,后续只需要关注核心逻辑就可以了。将Hadoop的Jar包解压到非中文路径(例如D:\hadoop\hadoop-2.7.2)创建一个[Maven]工程HdfsClientDemo。实际开发中这样设计也不太好,建议搞个工厂类。配置HADOOP_HOME环境变量。创建HdfsClient 类。原创 2024-01-10 15:22:36 · 1224 阅读 · 0 评论 -
HDFS概述
背景先给大家介绍一下什么叫HDFS,我们生活在信息爆炸的时代,随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS只是分布式文件管理系统中的一种。定义HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。原创 2024-01-08 15:18:32 · 983 阅读 · 0 评论 -
MapReduce OutputFormat & 内核源码
1)需求过滤输入的 log 日志,包含 atguigu的网站输出到不包含 atguigu的网站输出到。(1)输入data(2)期望输出数据2)需求分析3)案例实操(1)编写 LogMapper 类import org//map不需要分割 也不需要其他操作 直接输出 context . write(value , NullWritable . get());转载 2024-01-12 10:53:22 · 64 阅读 · 0 评论 -
Hadoop概述
Yet Another Resource Negotiator 简称 YARN ,另一种资源协调者,是 Hadoop 的资源管理器。MapReduce将计算过程分为两个阶段: Map和ReduceMap阶段并行处理输入数据Reduce阶段对Map结果进行汇总。转载 2023-04-27 13:18:03 · 185 阅读 · 0 评论 -
MapReduce序列化
序列化就是把内存中的对象转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。反序列化就是将收到字节序列(或其他数据传输协议)或者是磁盘的持久化数据转换成内存中的对象。在企业开发中往往常用的基本序列化类型不能满足所有需求,比如在 Hadoop 框架内部传递一个bean 对象,那么该对象就需要实现序列化接口。具体实现 bean对象序列化步骤如下 7 步。(1)必须实现 Writable 接口super();(3)重写序列化方法@Override(4)重写反序列化方法。转载 2024-01-11 17:44:51 · 46 阅读 · 0 评论