
Hadoop
文章平均质量分 79
Hadoop学习
MelodyYN
实践
展开
-
Hadoop集群优化
文章目录Hadoop优化1、HDFS多目录1.1 NameNode的本地目录可以配置成多个,且每个目录存放内容相同,进而增加可靠性。1.2 DataNode可以配置成多个目录,每个目录存储的数据不一样(数据不是副本)1.3 集群数据均衡之磁盘间数据均衡2、HDFS扩容与缩容2.1 白名单2.2 服役新服务器2.3 服务器间数据均衡2.4 黑名单退役服务器Hadoop优化1、HDFS多目录1.1 NameNode的本地目录可以配置成多个,且每个目录存放内容相同,进而增加可靠性。hdfs-site.原创 2021-12-17 22:12:44 · 1392 阅读 · 0 评论 -
Yarn核心参数配置
文章目录Yarn核心参数配置1、yarn-site.xml配置2、容量调度器多队列提交案例测试Yarn核心参数配置需求从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。分析1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster平均每个节点运行10 / 3$\approx$31、yarn-site.xml配置<!-- 选择调度器,默认容量 --><property> <descrip原创 2021-12-17 20:05:45 · 2003 阅读 · 0 评论 -
Yarn调度器原理
Yarn调度器FIFO容量(Capacity Scheduler)公平(Fair Scheduler)容量调度器和公平调度器都是在FIFO的基础上发展而来的。Apache Hadoop3.1.3默认的资源调度器是Capacity Scheduler。yarn-default.xml<property> <description>The class to use as the resource scheduler.</description>原创 2021-12-17 19:22:57 · 550 阅读 · 0 评论 -
Yarn工作机制和HDFS、Yarn、MapReduce之间的关系
文章目录1、Yarn基础架构2、Yarn工作机制2.1 作业提交全过程详解(1)作业提交(2)作业初始化(3)任务分配(4)任务运行2.2 作业提交过程中HDFS和MapReduce3、HDFS、Yarn、MapReduce三者之间的关系1、Yarn基础架构 YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成。各组件功能如下所示:2、Yarn工作机制2.1 作业提交全过程详解(1)作业提交Cl原创 2021-12-17 18:44:56 · 1575 阅读 · 0 评论 -
Partition分区
文章目录Partition分区1、默认partitioner分区2、自定义Partitioner步骤3、注意事项4、案例Partition分区需求:按照条件输出到不同文件中。案例:按照手机归属地输出到不同文件中。1、默认partitioner分区默认分区根据key的hashCode对ReduceTasks个数取模得到。public class HashPartitioner<K, V> extends Partitioner<K, V> { public int ge原创 2021-12-16 17:28:36 · 2040 阅读 · 0 评论 -
MapReduce工作流程
MapReduce工作流程Map阶段:Reduce阶段:上面的流程是整个MapReduce最全工作流程,但是Shuffle过程只是从第7步开始到第16步结束,具体Shuffle过程详解,如下:(1)MapTask收集我们的map()方法输出的kv对,放到内存缓冲区中(2)从内存缓冲区不断溢出本地磁盘文件,可能会溢出多个文件(3)多个溢出文件会被合并成大的溢出文件(4)在溢出过程及合并的过程中,都要调用Partitioner进行分区和针对key进行快速排序(5)ReduceTask根据自己原创 2021-12-16 16:52:22 · 2777 阅读 · 0 评论 -
FileInputFormat切片源码解析
文章目录FileInputFormat切片源码解析1、MapTask并行度决定机制2、源码步骤3、FileInputFormat切片机制3.1 源代码中计算切片大小的公式3.2 获取切片信息API4、FileInputFormat的实现类4.1 TextInputFormat4.2 CombineTextInputFormat切片机制5、代码验证FileInputFormat切片源码解析在提交任务过程中,我们需要对数据进行逻辑上的切片,对应代码为input.getSplits(job)1、MapTa原创 2021-12-16 15:23:20 · 979 阅读 · 0 评论 -
Hadoop提交任务源码分析
文章目录hadoop提交流程源码1、源码流程2、提交任务过程中主要事项hadoop提交流程源码1、源码流程//进入Job类的waitForCompletion()方法waitForCompletion()submit();// 1建立连接 connect(); // 1)创建提交Job的代理 new Cluster(getConfiguration()); // (1)判断是本地运行环境还是yarn集群运行环境 initialize(jobTrackAddr, co原创 2021-12-16 14:47:48 · 515 阅读 · 0 评论 -
OutputFormat:自定义数据输出
OutputFormat数据输出目的:能够自定义指定输出位置,而不局限于目前文件系统的目录;可以是数据库或者其他存储方式。OutputFormat类为抽象类,其子类为FileOutputFormat也是抽象类,经常在Driver中通过静态方法setOutputPath指定输出路径。默认情况下,输出格式为TextOutputFormat。自定义OutputFormat步骤自定义一个类继承FileOutputFormat;改写RecordWriter,具体改写输出数据的方法write()。原创 2021-12-16 11:24:11 · 2568 阅读 · 0 评论 -
Hadoop2.9.2集群配置
文章目录环境:准备工作:1.配置网络(三台)同步时间:修改hostname:(master)配置IP、主机名映射:免密ssh登录,主节点到从节点免密登录(master)配置防火墙:JDK环境配置:Hadoop安装:1.官网下载并安装2.配置文件修改2.1hadoop-env.sh2.2 core-site.xml2.3 hdfs-site.xml2.4 mapred-site.xml2.5 yar...原创 2019-12-01 12:13:25 · 1008 阅读 · 0 评论 -
HDFS入门--基本概念、特性
文章目录HDFS入门1.HDFS基本概念1.1HDFSj介绍1.2HDFS设计目标2.HDFS特性2.1master/slave架构2.2分块存储2.3名字空间(NameSpace)2.4Namenode元数据管理2.5Datanode数据存储2.6副本机制2.7一次写入,多次读出3.HDFS基本操作3.1Shell命令行客户端3.2Shell常用命令介绍HDFS入门1.HDFS基本概念1....原创 2019-12-21 19:25:14 · 309 阅读 · 0 评论 -
HDFS基本原理--工作机制
HDFS基本原理文章目录HDFS基本原理1.NameNode概述2.DataNode 概述3.HDFS工作机制3.1HDFS 写数据流程3.2HDFS 读数据流程1.NameNode概述1. NameNode是HDFS的核心;2. NameNode 也称为Master;3. NameNode 仅存储HDFS的元数据:文件系统中所有文件的目录树并跟踪整个集群中的文件。4. NameNod...原创 2019-12-22 12:37:46 · 596 阅读 · 0 评论 -
HDFS应用开发
HDFS应用开发文章目录HDFS应用开发1、HDFS的JAVA API操作1.1 搭建开发环境1.2 构造客户端对象1.3 示例代码2.案例:shell定时采集数据至HDFS2.1技术分析2.2实现流程2.3代码实现1、HDFS的JAVA API操作HDFS在生产应用中主要是客户端的开发,其核心步骤是从HDFS提供的API中构造一个HDFS的访问客户端对象,然后通过该客户端对象操作(增删改查)HDFS上的文件。1.1 搭建开发环境创建Maven工程,引入pom依赖<?xml version原创 2020-07-19 11:11:55 · 373 阅读 · 0 评论 -
初识MapReduce
初识MapReduce文章目录初识MapReduce1.MapReduce计算模型介绍1.1 理解MapReduce思想1.2 Hadoop&MapReduce设计构思1.3 MapReduce框架结构2.MapReduce编程规范及示例编写2.1 编程规范2.2WordCount示例编写3.MapReduce程序运行模式3.1本地运行模式3.2集群运行模式1.MapReduce计算模型介绍1.1 理解MapReduce思想 MapReduce的思想核心是“分而治之”,适用于大量复杂的任务原创 2020-07-19 12:35:09 · 143 阅读 · 0 评论 -
深入MapReduce
文章目录1.MapReduce的输入和输出2.MapReduce的数据分区3.MapReduce的处理流程解析3.1Mapper任务执行过程3.2Reduce任务执行过程详解1.MapReduce的输入和输出 MapReduce框架运转在<key, value>键值对上,也就是说,框架把作业的输入看成是一组<key, value>键值对,同样也产生一组<key, value>键值对作为作业的输出,这两组键值对可能是不同的。 一个MapReduce作业的输入和输出原创 2020-07-19 15:59:21 · 224 阅读 · 0 评论 -
MapReduce的序列化
MapReduce的序列化文章目录MapReduce的序列化1.概述2.Writable序列化接口1.概述 序列化(Serial ization)是指把结构化对象转化为字节流。 反序列化(Deserialization)是序列化的逆过程。把字节流转为结构化对象。 当要在进程间传递对象或持久化对象的时候,就需要序列化对象成字节流,反之当要将接收到或从磁盘读取的字节流转换为对象,就要进行反序列化。 Java的序列化(Serializable)是一个重量级序列化框架,一个对象被序列化后,会附带原创 2020-07-19 17:48:23 · 380 阅读 · 0 评论 -
MapReduce案例:实现用户总流量分析——序列化的应用
文章目录1.计算总流量1.计算总流量Flowean类的设计实现package cn.itcast.hadoop.flowsum;import org.apache.hadoop.io.Writable;import org.apache.hadoop.io.WritableComparable;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;public class Flow原创 2020-07-19 18:26:31 · 313 阅读 · 0 评论 -
MapReduce案例:实现用户总流量倒序———compareTo方法
在用户总流量分析中我们成功得到了数据如下:13480253104 180 180 36013502468823 7335 110349 11768413560439658 2034 5892 792613600217502 1080 186852 18793213602846565 1938 2910 484813660577991 6960 690 765013719199419 240 0 24013726230503 2481 24681 2716213760778710 120 1原创 2020-07-19 21:24:04 · 1073 阅读 · 0 评论 -
windows上部署hadoop(单机版)
在window系统开发程序时,远程linux服务器上的hadoop速度很慢,影响开发效率,能不能在本地搭建hadoop环境的?答案肯定的,且看下文如何在window上部署hadoop;(源文地址:https://www.cnblogs.com/lfhappy/p/11482195.html)1、下载hadoop(建议下载稳定版本):http://mirror.bit.edu.cn/apache/hadoop/common/stable/2、hadoop需要JDK,如果已经安装,跳过此步骤,还没有,需要转载 2020-07-21 18:26:17 · 436 阅读 · 0 评论 -
hadoop3.1.3集群配置
文章目录hadoop3.1.3集群配置1、安装软件2、关闭防火墙3、创建hadoop用户4、卸载Linux自带的JDK5、克隆三台虚拟机6、安装jdk、hadoop7、配置环境变量8、本地模式测试9、完全分布式9.1配置SSH免密登录9.2 集群配置9.3 分发配置文件至其他节点9.4 启动集群9.5 各节点服务运行状况jps10、面试题hadoop3.1.3集群配置1、安装软件最小化安装中一些基本命令不存在,因此需要事先安装。Extra Packages for Enterprise Linu原创 2021-12-08 19:17:39 · 2065 阅读 · 0 评论 -
集群同步时间
集群同步时间目的:Linux默认同步网络时间,若没有网络,我们不管时间是否与真实时间一致,但是集群内的时间需保持一致。主节点配置1、开启ntpd服务sudo systemctl status ntpdsudo systemctl start ntpdsudo systemctl is-enabled ntpd2、修改/etc/ntp.conf文件授权192.168.10.0-192.168.10.255网段上的所有机器可以从这台机器上查询和同步时间restrict 192.168.原创 2021-12-08 21:12:52 · 517 阅读 · 0 评论 -
hdfs之Shell命令
HDFS基本操作1、Shell命令行客户端Hadoop提供了文件系统的shell命令行客户端,使用方法如下:hadoop fs 文件系统shell包括与Hadoop分布式文件系统(HDFS) 以及Hadoop支持的其他文件系统(如本地FS, HFTP FS, S3 FS 等)直接交互的各种类似shell的命令。所有FS shell 命令都将路径URI作为参数。URI格式为scheme://authority/path。对于HDFS,该scheme是hdfs,对于本地FS,该scheme是file.原创 2021-12-09 11:10:26 · 927 阅读 · 0 评论 -
HDFS概述及其API基本操作
文章目录1、HDFS概述1.1 HDFS的意义1.2 HDFS的使用场景1.3 HDFS的优缺点1.4 HDFS组成架构1.5 HDFS块大小2、HDFS的API操作2.1 基础环境2.2 实操代码1、HDFS概述1.1 HDFS的意义 HDFS即Hadoop Distributed File System,是一种分布式文件系统,用于解决大数据的存储问题。1.2 HDFS的使用场景 适合一次写入,多次读出。1.3 HDFS的优缺点优点:高容错通过副本,提高容错性副本丢失,自动原创 2021-12-10 20:27:55 · 1102 阅读 · 0 评论 -
HDFS读写过程
HDFS的的写过程1、HDFS写数据流程客户端通过Distributed FileSystem模块向NameNode请求上传文件。NameNode检查权限、文件是否存在以及父目录是否存在;NameNode相应客户端是否可以上传;客户端将数据按块大小切分,并向NameNode请求第一个Block上传的节点位置;NameNode返回节点位置(假设为dn1,dn2,dn3);客户端通过FSDataOutputStream模块请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,原创 2021-12-12 22:22:55 · 730 阅读 · 0 评论 -
Hadoop序列化及其案例
文章目录1、Hadoop序列化1.1 不直接使用JAVA中序列化的原因1.2 Hadoop序列化的特点1.3 自定义bean对象实现序列化的步骤2、案例2.1 FlowBean2.2 FlowMapper2.3 FlowReducer2.4 FlowDriver1、Hadoop序列化1.1 不直接使用JAVA中序列化的原因Java的序列化是一个重量级序列化框架(Serializable),一个对象被序列化后,会附带很多额外的信息(各种校验信息,Header,继承体系等),不便于在网络中高效传输。所以,原创 2021-12-13 18:30:29 · 657 阅读 · 0 评论 -
MapReduce概述
文章目录1、MapReduce的优缺点1.1 优点1.2 缺点2、MapReduce进程3、常用数据序列化类型1、MapReduce的优缺点1.1 优点MapReduce易于编程良好的扩展性当计算资源不能得到满足的时候,你可以通过简单的增加机器来扩展它的计算能力。高容错性MapReduce设计的初衷就是使程序能够部署在廉价的PC机器上,这就要求它具有很高的容错性。比如其中一台机器挂了,它可以把上面的计算任务转移到另外一个节点上运行,不至于这个任务运行失败,而且这个过程不需要人工参与原创 2021-12-13 21:09:37 · 959 阅读 · 0 评论 -
Join应用
文章目录Join应用1、Reduce join数据:分析:2、map join3、总结Join应用1、Reduce join数据:order.txtidpidamount100101110020221003033100401410050251006036pd.txtpidpname01小米02华为03格力分析:Map端的主要工作:为来自不同表或文件的key/value对原创 2021-12-15 19:40:23 · 443 阅读 · 0 评论 -
MapReduce开发总结
MapReduce开发总结1、输入数据接口:InputFormat(1)默认使用的实现类是:TextInputFormat(2)TextInputFormat的功能逻辑是:一次读一行文本,然后将该行的起始偏移量作为key,行内容作为value返回。(3)CombineTextInputFormat可以把多个小文件合并成一个切片处理,提高处理效率。2、逻辑处理接口:Mapper用户根据业务需求实现其中三个方法:map() setup() cleanup ()3、Partitioner分区(原创 2021-12-15 19:57:53 · 138 阅读 · 0 评论 -
Hadoop数据压缩
文章目录Hadoop数据压缩1、MR支持的压缩编码2、压缩方式的选择不同位置的压缩方式选择3、压缩参数配置4、案例4.1 Map输出端压缩4.2 Reduce输出端采用压缩Hadoop数据压缩**目的:**减少磁盘IO、减少磁盘存储空间;压缩原则:运算密集型的Job,少用压缩IO密集型的Job,多用压缩1、MR支持的压缩编码压缩算法对比:压缩格式Hadoop自带算法文件扩展名是否可切片换成压缩格式后,原来的程序是否需要修改DEFLATE是DEFLATE.原创 2021-12-15 21:08:39 · 466 阅读 · 0 评论