![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hadoop
有上进心的阿龙
吃不了自律的苦,就要受平庸的罪!学到老,活到老!
展开
-
08-Hadoop MapReduce 原理 MR源码调试 MapTask流程
原创 2020-12-29 16:49:25 · 99 阅读 · 0 评论 -
05-Hadoop MapReduce 原理 MR源码调试&&Job提交流程
05-Hadoop MapReduce 原理 MR源码调试 准备工作06-Hadoop MapReduce 原理 MR源码调试 Job提交流程1原创 2020-12-29 10:26:51 · 96 阅读 · 0 评论 -
02-Hadoop MapReduce 原理 OutputFormat介绍&& 自定义OutputFormat案例 编写MR
02-Hadoop MapReduce 原理 OutputFormat介绍InputFormat里面数据不是由InputFormat读进来的,而是由RecordReader读进来的同理:OutputFormat的数据也不是由OutputFormat写出去的,是由RecordWriter写出去的。...原创 2020-12-27 21:41:09 · 87 阅读 · 0 评论 -
18-Hadoop MapReduce 原理 Combiner介绍
18-Hadoop MapReduce 原理 Combiner介绍原创 2020-12-26 20:23:42 · 137 阅读 · 2 评论 -
13-Hadoop MapReduce 原理 排序 分组排序案例分析&&分组排序案例编写OrderBean&&分组排序案例 编写分区比较器
13-Hadoop MapReduce 原理 排序 分组排序案例分析14-Hadoop MapReduce 原理 排序 分组排序案例 编写OrderBean16-Hadoop MapReduce 原理 排序 分组排序案例 编写分区比较器现在如果不修改代码的情况下,源数据增加这条数据,运行结果还是只显示每个订单id的商品价格最大的那条记录。原创 2020-12-26 19:09:54 · 156 阅读 · 0 评论 -
11-Hadoop MapReduce 原理 排序 区内排序&&排序 分组比较分析
11-Hadoop MapReduce 原理 排序 区内排序12-Hadoop MapReduce 原理 排序 分组比较分析原创 2020-12-25 19:06:56 · 100 阅读 · 0 评论 -
07-Hadoop MapReduce 原理 排序 排序案例1 & 排序案例2 & 排序案例3 && 排序比较总结
07-Hadoop MapReduce 原理 排序 排序案例1原创 2020-12-25 08:48:01 · 80 阅读 · 1 评论 -
06-Hadoop MapReduce 原理 排序 WritableComparator 和 WritableComparable
06-Hadoop MapReduce 原理 排序 WritableComparator 和 WritableComparable所以比较器就是WritableComparator原创 2020-12-24 17:00:08 · 145 阅读 · 1 评论 -
04-Hadoop MapReduce 原理 排序 排序介绍&& Hadoop排序用的比较器对象
04-Hadoop MapReduce 原理 排序 排序介绍05-Hadoop MapReduce 原理 排序 Hadoop排序用的比较器对象我们假设当时Driver类设置的job.setMapOutputKeyClass(Text.class);是Text,那么:仔细查看key=Text.class对应的比较器对象是怎么设置的?刚才看完了Hadoop自己定义的Text原创 2020-12-24 16:32:30 · 168 阅读 · 0 评论 -
错题积累
原创 2020-12-24 15:40:57 · 80 阅读 · 0 评论 -
02-Hadoop MapReduce 原理 分区 自定义分区器
02-Hadoop MapReduce 原理 分区 自定义分区器Partitioner发生在map写出去到环形缓冲区之前要计算分区,所以自定义分区类的泛型就设置成Map写出数据的KV结论:Mappper写出去的KV和Partitioner的KV一致...原创 2020-12-24 12:01:37 · 176 阅读 · 0 评论 -
20-Hadoop MapReduce 原理 分区 数据如何分区 和 默认分区器
分区的数据是如何分的?分区的效果就是将结果数据写入到不同的文件当中。原创 2020-12-24 10:50:19 · 244 阅读 · 0 评论 -
18-Hadoop MapReduce 原理 分区介绍&设置reduce个数实现分区效果&
18-Hadoop MapReduce 原理 分区介绍之前写的手机流量统计的程序,输出文件只有一个现在只是简单的在Driver类中写上一句话,让ReducerTask的个数是2job.setNumReduceTasks(2);19-Hadoop MapReduce 原理 分区 设置reduce个数实现分区效果ReduceTask的数量默认不设置就是=1数据从Map写出去的,进入到环形缓冲区的时候,需要用到原创 2020-12-24 10:11:58 · 280 阅读 · 0 评论 -
16-Hadoop MapReduce 原理 Shuffle机制图解简单介绍
16-Hadoop MapReduce 原理 Shuffle机制图解每个MapTask都有两次排序第一次发生在溢写的时候,使用快排,不修改内存中每个位置的值采用索引排序。第二次排序发生在:因为环形缓冲区大小的限制,每个MapTask都会溢写出数据,需要把多个溢写的数据进行整合,采用归并排序,每个MapTask最终生成一个文件(多个分区)每个ReduceTask只有排序:接收所有MapTask产生的数据,写到内存,内存不够,写到磁盘上去,等所有数据都写完之后,采用归并排序原创 2020-12-23 20:59:12 · 152 阅读 · 0 评论 -
14-Hadoop MapReduce 原理 TextInputFormat&& CombineTextInputFormat
14-Hadoop MapReduce 原理 TextInputFormatTextInputFormat是hadoop默认的inputformatTextInputFormat里面的切片规则用的就是FileInputFormat里面的切片规则对于是否可切分主要针对压缩文件CombineTextInputFormat:适用于小文件场景namenode最怕小文件mapreduce也害怕小文件场景。在wordcount程序中去设置切片数量(默认切片规则):在原创 2020-12-23 19:55:05 · 133 阅读 · 0 评论 -
Hadoop MapReduce 原理 切片的概念和大小
11-Hadoop MapReduce 原理 切片的概念和大小如果这个MR程序是在本地去测试,那么默认块大小是32M,因为在本地Windows上去运行主要是用来测试,没必要用128MB在集群上去运行是默认128MB真正切文件的时候是按照32MB去切的,但是,我们判断是否还需要再去切的时候,是除以32是否大于1.1...原创 2020-12-23 17:53:00 · 739 阅读 · 1 评论 -
Hadoop MapReduce 原理 InputFormat介绍
10-Hadoop MapReduce 原理 InputFormat介绍有的数据不可以进行切分,原创 2020-12-23 12:50:07 · 101 阅读 · 0 评论 -
hadoop MapReduce 原理 MapReduce的过程(重难点)
hadoop MapReduce 原理 MapReduce的过程原创 2020-12-23 12:31:51 · 232 阅读 · 0 评论 -
编写第一个序列化案例实操(统计每一个手机号耗费的总上行流量、下行流量、总流量)
Hadoop MapReduce WordCount案例 Mapper类的解析wordcount案例里面输入的key是LongWritable-偏移量输入的value是Text–>每一行数据19-Hadoop MapReduce WordCount案例 Reducer类的解析:20-Hadoop MapReduce WordCount案例 Debug使用介绍一行一行调试进入方法的调用强制进入到方法里面跳出方法的调用直接跳到下个断点的原创 2020-12-22 21:18:16 · 441 阅读 · 0 评论 -
MR程序在集群上运行的两种方式
编写MR程序在集群上运行。输入输出路径不要写死,作为参数传进来。方式一、打jar包把这个包放到桌面上去把jar包放到这个linux目录上启动集群准备测试数据,放在集群上:原创 2020-12-22 12:56:25 · 520 阅读 · 0 评论 -
编写wordcount案例(第一个MR程序)
1、准备环境新建了一个maven工程com.atguigu.hadoop.hdfstest加依赖<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency原创 2020-12-21 21:51:53 · 194 阅读 · 0 评论 -
Hadoop MapReduce MapReduce核心思想初认识
hive框架主要是针对mapreduce进行封装的。Hadoop MapReduce MapReduce核心思想初认识mapreduce里面的map阶段,需要把文件分开一个文件200MB,分成两个 128MB和72MB这个不是分块,这个专业术语叫做切片为什么切片生成以后是以128MB来切的呢?因为切片和块有关系。切的每一片都会分一个MapTask如果两个文件切片成了三份,map阶段就会有三个Maptask,三个task互不干扰,并发执行。每个maptask操作每个切片的时候,按行读原创 2020-12-21 20:34:03 · 155 阅读 · 0 评论 -
HDFS DN工作机制
Hadoop HDFS DN工作机制 数据完整性/opt/module/hadoop-3.1.3/data/dfs/data/current/BP-1418454027-192.168.1.102-1607949404504/current/finalized/subdir0/subdir0这个目录下保存的是datanode数据:.meta不是一个普通的文件,使用cat不能查看。.meta是校验和。保证数据的完整性。DN会周期性的校验block,Hadoop HDFS DN工作机原创 2020-12-21 19:14:21 · 355 阅读 · 1 评论 -
Hadoop HDFS NN和2NN工作机制 NN故障处理(扩展)
一、Hadoop HDFS NN和2NN工作机制 NN故障处理(扩展)后面会搭建高可用的集群,不会使用2NN,所以扩展知识。二、Hadoop HDFS NN和2NN工作机制 集群的安全模式介绍原创 2020-12-21 16:49:41 · 358 阅读 · 0 评论 -
Hadoop学习-节点之间距离计算,机架感知,hdfs读数据NN和2NN工作机制fsimage 和 edits文件内容解析
各个节点之间距离的计算:机架感知:HDFS将我上传的文件存放到哪三个节点上呢?HDFS的读数据的流程:读数据和写数据都是以块为单位的。读数据的时候client只需要和其中的一个DN建立通道获取第一个块,第一个块读完之后,读第二个块可能还是在这个DN上,但是不一定,读取第二块的内容的时候都需要重新去建立通道的。读数据的时候一块一块读。在读数据的时候,只需要和其中的一个DataNode建立连接。读数据和写数据client都是先与NameNode连接交互,再去和DataNode去交互。Na原创 2020-12-20 21:39:12 · 178 阅读 · 1 评论 -
HDFS写数据流程
HDFS写数据流程:1)客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。2)NameNode返回是否可以上传。3)客户端请求第一个 Block上传到哪几个DataNode服务器上。4)NameNode返回3个DataNode节点,分别为dn1、dn2、dn3。5)客户端通过FSDataOutputStream模块请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建原创 2020-12-19 20:31:29 · 86 阅读 · 1 评论 -
hadoop学习-Hadoop HDFS java客户端操作 基于IO上传下载文件
hadoop是如何实现把一个文件从hdfs下载到本地或者从本地上传到hdfs流的操作。本质-IO流操作文件上传的操作:通过指定本地文件的输入流,进行数据的读取,然后将读取的数据通过指向hdfs的输出流,将数据写出。文件的下载操作:通过指定hdfs的输入流,进行数据的读取,然后将读取的数据通过指向本地的输出流,将数据写出。实现上传的操作(将电脑本地的一个文件上传到hdfs的一个目录中/bigdata下) @Test public void testIOUpload() throws原创 2020-12-19 13:32:10 · 180 阅读 · 1 评论 -
hadoop学习-客户端(java IDEA)操作hdfs之listFiles
1、文件详情查看:查看根目录下的文件详情如果不选择递归,只会打印根目录下的文件,目录不会有2、判断文件和目录的操作:表面的显示出来,不会显示子子孙孙显示子子孙孙。所有文件和目录。自定义方法,使用递归技术...原创 2020-12-19 13:09:01 · 628 阅读 · 1 评论 -
hadoop学习-hdfs的客户端操作之写java代码来操作hdfs从创建Maven工程到rename方法
1、创建一个maven工程创建好之后,第一个先添加依赖:<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <depende原创 2020-12-19 08:29:59 · 172 阅读 · 0 评论 -
hadoop学习-配置hadoop的windows依赖
之前讲的shell操作也是而客户端操作,只不过是通过shell命令。现在通过写代码的方式来操作hdfs虽然hdfs是在linux里面搭建的,我们通过配置windows环境去连接linux,就可以操作hdfs.整个hadoop工作之时需要依赖windows操作系统的平台。linux和windows的本地库是不一样的。在windows里面加入hadoop的本地库。hadoop3.1.01、先配置windows的环境。想要hadoop在windows里面正常的工作,hadoop需要的windo原创 2020-12-18 19:08:15 · 4568 阅读 · 5 评论 -
hadoop学习-HDFS的详细概述
namenodedatanodesecondarynamenode讲解HDFS主要研究这三个东西hadoop客户端的操作就是使用代码去实现上传和下载。一个文件的元数据信息大概是180字节左右。(不管文件多大)hadoop怕小文件存储的时候怕,计算分析的时候也怕。namenode维护的元数据全部在内存中。对文件的修改最多只支持追加数据。Hbase对hdfs提高了改操作。client一定是先和namenode进行交互,再和datanode交互读文件或者写文件必须先通过nameno原创 2020-12-17 19:51:12 · 188 阅读 · 0 评论 -
hadoop学习配置历史服务器、日志的聚集
现在还没有配置历史服务器:执行一个jobhadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /user/atguigu/input /user/atguigu/output2我们刚才执行了一个job,在hdfs产生了/user/atguigu/output2目录,在yarn上显示出了一个job准备重启yarn,会发现job消失了配置历史服务器:配置这个文件然后再分发一下原创 2020-12-17 16:27:45 · 161 阅读 · 0 评论 -
hadoop学习从SSH的免密登录到写脚本实现很方便的开启关闭查看完全分布式集群
在hadoop102上输入命令:ssh-keygen -t rsa会在家目录下面产生一个.ssh文件cd /home/atguigull -acd .ssh在102上输入:ssh-copy-id hadoop103那么这时候去hadoop103机器的家目录下的.ssh目录下查看/home/atguigu/.ssh这时候也会生成一个authorized_keys文件,这个文件存储了hadoop102机器给他的公钥同样在hadoop102上写:ssh-copy-i...原创 2020-12-17 15:23:36 · 124 阅读 · 0 评论 -
hadoop学习从配置yarn到测试hdfs和测试yarn
启动yarn,先看看集群的规划先启动yarn的老大,ResourceManager之后再启动nodemanager成功启动了yarn我们现在想去看看hdfs实际存储的数据到底放在了哪里?数据的全路径:/opt/module/hadoop-3.1.3/data/dfs/data/current/BP-1418454027-192.168.1.102-1607949404504/current/finalized/subdir0/subdir0我们在103 1原创 2020-12-17 11:24:54 · 330 阅读 · 0 评论 -
hadoop学习从编写分发脚本实现集群里所有机器的同步到实现单点启动hdfs
将编写好的xsync脚本文件放在/home/atguigu/bin目录下,因为这个路径已经在path变量里面了。之后可以随便在哪个目录下执行xsync命令增加xsync脚本文件的执行权chmod +x xsync在任何位置敲击xsy,之后按一下tab键,就可以自动打出xsync分布式模式集群的规划第一步:配置core-site.xml,操作hadoop102,之后分发 <!-- 指定NameNode的地址 --> <property>原创 2020-12-16 20:54:33 · 130 阅读 · 0 评论 -
hadoop学习从建立模板客户机到编写分发脚本实现集群里所有机器的同步
整个大数据的技术生态体系hadoop就是java写的,所以必须要安装jdk真实的工作是准备服务器,而不是虚拟机。最小化的虚拟机,需要最少2G的内存模板机,比较干净。最小化的比图形化的省资源。启动虚拟机,登录root用户 123321登陆进去。使用ifconfig查看自己的ip,使用xshell根据获取的ip去安装插件获取到192.168.202.130这个ip地址,使用这个ip去用xshell软件远程登陆,那里很方便去配置敲命令。安装必要的插件使用yum去联网下载sudo yum i原创 2020-12-15 21:36:17 · 174 阅读 · 0 评论 -
hadoop学习第二篇-给虚拟机hadoop201安装JDK和hadoop
现在的hadoop201已经有了静态的ip192.168.1.201也有了用户raotenglong(通过修改/etc/sudoers文件修改了权限)在/opt下创建了两个目录module和software/etc/sudoers文件内容:在hadoop201上安装JDK卸载当前的JDK(一般没有)rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps用Xftp工具将JDK导入到opt目录下面的software文件夹下面原创 2020-12-13 20:56:35 · 116 阅读 · 0 评论 -
hadoop学习第一篇-学习hadoop之前的环境搭建
学习hadoop之前的环境搭建第一步、安装一个最小化的虚拟机作为基准这个时候VMware里面已经有这个虚拟机了。现在去配置虚拟机参数启动虚拟机baseVM安装到一般会提示你设置root密码,然后才会进行下面的安装这个时候说明我的最基本的虚拟机已经安装好了点击重启。因为我们选择的是最小化安装,所以,没有图形化界面使用root 123321账号密码登进去试试,检测一下虚拟机是否成功安装好了这个说明我们已经完美原创 2020-12-13 18:18:07 · 125 阅读 · 0 评论 -
大数据之hodoop
大数据主要解决:大数据的特点:nameNode就像是目录相当于实实在在的数据辅助nameNode工作。HDFS负责文件的存储YARN:节点=服务器/电脑整个集群资源的老大:整个集群中单个节点的老大:...原创 2020-12-13 15:21:43 · 914 阅读 · 0 评论