自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 MapReduce详细流程

1.首先maptask的map方法会生成一堆(k,v)类型的数据,数据会标记好它的分区,然后会把这些数据传入到内存的环形缓冲区当中(默认100m)。2.当环形缓冲区的内存占用达到80%时,从内存缓冲区不断溢出到本地磁盘文件,可能会溢出多个文件(在溢出前对数据进行快速排序,排序按照key进行字典顺序的排序)。3.多个溢出的文件会合并成为大的文件(归并排序算法),对溢写的文件可以进行combiner操作(对于求最大值,合并值有用,对于求中间值,和平均值没用,算出的结果会出错误)4.在溢出和合并过程中都会调

2020-12-08 22:11:04 202

原创 1.MapReduce Shuffle阶段的理解

Shuffle的中文意思是洗牌,是mapReduce程序最重要的一个过程,可以将mapTask阶段输出的结果分发给不同的reduceTask,在分发过程中还会对key进行分区,排序,以及局部聚合的操作。Shuffle是MR处理过程中的一个流程,其处理的步骤是分散在mapTask和reduceTask各个节点上完成的。...

2020-12-08 16:49:02 351

原创 jvm线程锁

1.单例模式Double check怎么写?先判断一次空值加了锁以后再判断一次空值2.单例模式是否需要volotile修饰,有什么作用?需要,作用有两个:1.线程间可见2.禁止指令重排序,当把volatile加在某个变量上的时候,这个变量的初始化过程不会被重排序。这里引申一点 如果变量初始化过程指令重排序了,可能会导致变量计算结果与预期不符合。...

2020-11-20 23:52:33 121

原创 sudo su和su区别

sudo su(当前用户暂时申请root权限 需要输入当前root用户组用户用户的密码)这个会询问当前用户的密码su(直接切换root 需要输入root密码)直接询问密码输入的是root的密码可以用 sudo password root为root设置密码clear清理屏幕...

2020-11-20 18:35:38 140

原创 java的GC机制

与GCRoot与直接相连的关系的对象不能删除GCRoot:1.栈区(存放局部变量等)2.本地方法栈区(调用C++相关的操作)3.方法区(存放常量,静态变量,类元信息)没有与GCRoot相连的对象可以被删除删除策略:1.标记清理,对要清理的对象打上标记 ,再扫描一次,然后把有标记的对象删除了,是最简单的方法,但是容易产生内存碎片,比如两个1k的对象清除掉以后 ,再插入一个新的2k的对象的时候,就不能插进去这两个1k的对象的位置了。2.标记整理,删除了前面的数据,后面的数据会前移,减少了内存碎片

2020-11-20 18:30:57 279 1

原创 对Zookeeper监听器原理选举机制的理解

1.zookeeper监听器原理1.首先要有一个main()线程2.在main线程中创建zk客户端,zk客户端会创建两个线程,分别是: lintener()(负责监听)和connect()(负责网络连接通信)3.connect()线程将注册的监听事传给zookeeper4.zookeeper监听器中的注册监听列表会把注册的监听事件添加进去。5.zookeeper一旦监听到路径或者数据有所改变会向listener()线程发送消息。6.listener()线程内部调用了process()方法。监

2020-11-08 21:53:20 171 2

原创 对MapReduce&Yarn的深刻理解

1.MapReduce详细工作流程之Map阶段1.首先有一个待处理的文本ss.txt 假设为200M大小2.在客户端submit()之前,获取待处理的数据的信息,然后根据参数配置,形成一个任务分配的规划 。(默认128m一个数据块)ss.txt 0-128 任务1ss.txt 128-200 任务23.提交信息Job.split(任务切片信息)wc.jar(需要提交的jar包)Job.xml(xml配置文件)将这三个文件从MapReduce客户端提交到Yarn上的ResourceMan

2020-11-08 19:25:23 255

原创 MapReduce&Yarn自学心得

MapReduce&Yarn自学心得1.MapReduce是什么分为两点:1.MapReduce是一个分布式运算计算框架,是用户开发基于hadoop数据分析的应用的核心框架。2.MapReduce核心功能是将用户编写的业务逻辑和自带默认组件整合成一个完整的分布式运算程序,并将它运行在hadoop集群上。2.MapReduce的优缺点2.1优点2.1.1 MapReduce易于编程只要简单实现一些接口就可以完成一个分布式程序,这个分布式程序可以分布到大量的廉价计算机上运行,跟写一个简单

2020-10-23 19:11:26 416 1

原创 hadoop中hdfs上传数据的基本流程

hadoop中hdfs上传数据的基本流程1.首先hdfs客户端请求上传一个文件(假设为a.txt(300M)),这条请求会发送给namenode服务器,由namenode服务器校验,发送该请求的客户端是否有权限上传文件,以及确认datanode是否有足够的空间来存储这个文件以及它的副本。2.如果这两个条件都能满足,namenode服务器则会发送响应OK的消息给客户端。3.hdfs客户端接收到OK的响应过后,会向namenode请求上传第一块数据。4.namenode服务器接收到请求后,会返回原数据信

2020-09-20 20:33:14 2873

原创 大数据自学心得day02

大数据自学心得day02java基础学习   今天是自学的第二天啦,继续java基础的练习,今天的工作量相对于昨天确实大了很多,零零散散的知识也很多,需要记忆的知识也多了起来,还有很多需要熟练的代码格式需要多敲敲键盘,所以为了使我的java知识成体系化,并且有较为熟练的编程基本功。我决定将今天的学习分为三部分:   1:观看b站教学视频,并记录相关笔记   2:整理笔记为思维导图(XMind),并且巩固记忆   3:练习今天老师涉及到的所有代码,敲三遍以上。   第一步,可以b站或者网易云课堂搜

2020-07-25 11:40:46 292

原创 大数据自学心得day01

大数据自学day010202年了,拥有一项专业技能无论对于个人求职或者职业发展都是十分重要的!亲爱的读者,大家好!这是我的第一篇博客,希望记录下我的学习心得,然后也能帮同样想自学的程序猿/媛们排雷,少走弯路啦!新的改变大学学习的是C语言方面的编程知识,关于java应用不算熟练,所以打算从零基础开始刷起来啦,然后在没有围墙的大学-B站开始自学生涯。Java se我了解到学习java se不是专门针对大数据,而是为了锻炼变成思维而学习的,因为大数据的hadoop底层是使用java写的。java的语

2020-07-23 22:10:45 305

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除