自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

说出你的愿望吧

致力于大白话探讨技术的本质

  • 博客(30)
  • 收藏
  • 关注

原创 大白话带你认识JVM

前言如果在文中用词或者理解方面出现问题,欢迎指出。此文旨在提及和而不深究,但会尽量效率地把知识点都抛出来一、JVM的基本介绍JVM 是 Java Virtual Machine 的缩写,它是一个虚构出来的计算机,一种规范。通过在实际的计算机上仿真模拟各类计算机功能实现···好,其实抛开这么专业的句子不说,就知道JVM其实就类似于一台小电脑运行在windows或者linux这些操作系统环境下...

2020-01-15 15:20:57 653

原创 2021年的反思总结

作为一个互联网人,夜深了普遍才是自己感觉比较放松,比较惬意的时刻,这个时候也很容易就去想一些有的没的,也是在这个时间,才会想要写点东西最近是打了鸡血想要去为年后做准备,对自己的未来负责,2...

2022-01-26 01:02:01 2524

原创 Hive 调优总结

前言调优须知Hive 一个常用的大数据组件,影响它的性能的从来都不是因为数据量过大的问题,而是数据倾斜,冗余,Job 和 IO 过多,MapReduce 分配不合理···等等所以我们可以从...

2021-05-27 04:26:48 493

原创 零拷贝及一些引申内容

内容在极客时间的两个专栏:倪朋飞《Linux性能优化实战》02,03节陶辉《系统性能调优必知必会》04节这个属于高频面试题的一个,很可能是作为Kafka的延伸出来,之前可能我在掘金也已经...

2020-07-21 14:09:43 265

原创 阅读笔记:与程序员相关的SSD性能知识

内容来自陶辉老师的《系统性能调优必知必会》,极客时间可以订阅的刚好最近固态坏了,所以看到就顺带做做笔记了。先内容总结:SSD 的外部性能指标:IOPS,带宽 / 吞吐率和访问延迟。了解它...

2020-07-18 06:35:40 849

原创 带大家再过一下HDFS的基础

截取知识星球的分享出来,也是对之前的HDFS进行一个补充,顺带让大家复习一下HDFS的核心设计思想分散存储,冗余存储这两点我可以展开说明一下,首先我们要清楚,HDFS里面的数据,分为真实...

2020-07-03 19:06:00 178

原创 从MySQL中导数据到HBase

前言这个问题在网上已经一搜一大把了,为什么要自己亲手总结一下仅仅是因为最近自己公司新上了HBase然后使用Spark去读取MySQL的数据写入HBase的时候遇到了一些问题,也困扰了挺久...

2020-06-22 05:39:04 1561

原创 Flink的checkpoint机制

前言距离上一篇Flink已经有一些时日了,当时算是把一些算子都过了一遍,所以在进来这篇之前,我们先热一下身,回忆一下代码现在我们想实现这么一个功能,也是单词计数,不过这个单词计数要实现,...

2020-06-12 01:20:56 462

原创 记录一次Spark小问题的求证过程

前言某天和小伙伴讨论时候,聊到一个小问题,RDD的默认分区数和啥有关,当时得出的答案是和total-executor-cores有关,核数是几个,那它就是几个分区,经过求证似乎并不是这样...

2020-04-14 22:50:44 12888

原创 Elk环境篇 --- 本地快速搭建你的ElasticSearch及Kibana

前言ELK的基本介绍ELK是三个软件产品的首字母缩写,Elasticsearch,Logstash 和 Kibana。这三款软件都是开源软件,通常是配合使用,而且又先后归于 Elastic.co 公司名下,故被简称为 ELK 协议栈左边我们部署了多台服务器,然后我们通过logstash来采集数据,采集完成我们发送到ES集群中存起来,然后通过Kibana去展示到我们的浏览器中,就是这么一个简...

2020-04-06 10:29:23 976

原创 Kafka源码篇 --- 可能是你看过最详细的RecordAccumulator解读

前言我们上一篇的时候说了这篇会把Kafka的网络模型给梳理一下,这个和 NIO 的那篇关系就非常非常大了,所以如果对这块不了解的朋友可以跳转过去瞧瞧,起码对你理解起来会有一定的帮助那我们就接着上一篇的流程继续,标题中的RecordAccumulator很快就讲到回顾上一讲 Kafka 拉取元数据的流程上一讲我们虽然码了大概有7600多字,可是其实根本就没跳出第一步,所以这东西真的工程量挺大...

2020-02-23 02:20:20 344

原创 关于Spark的一些知识补充

前言基于上两篇没提到的知识点的一些补充三、Spark 内存计算框架3.1 Spark的任务调度Driver端运行客户端的main方法,构建SparkContext对象,在SparkContext对象内部依次构建DAGScheduler和TaskScheduler按照 RDD 的一系列操作顺序,来生成DAG有向无环图DAGScheduler拿到DAG有向无环图之后,按照宽依赖进行st...

2020-02-23 02:17:32 176

原创 Spark的Shuffle总结分析

前言一、shuffle原理分析1.1 shuffle概述Shuffle就是对数据进行重组,由于分布式计算的特性和要求,在实现细节上更加繁琐和复杂。在MapReduce框架,Shuffle是连接Map和Reduce之间的桥梁,Map阶段通过shuffle读取数据并输出到对应的Reduce,而Reduce阶段负责从Map端拉取数据并进行计算。在整个shuffle过程中,往往伴随着大量的磁盘和...

2020-02-23 02:15:08 261

原创 一文带你过完Spark RDD的基础概念

前言上一篇权当吹水了,从这篇开始进入正题。二、Spark 的内存计算框架(重点????)RDD(Resilient Distributed Dataset)叫做 弹性分布式数据集 ,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合.Dataset:就是一个集合,存储很多数据.Distributed:它内部的元素进行了分布式存储,方便于后期进行分布式计算.Res...

2020-02-23 02:14:15 380

原创 从零开始认识Spark

前言Spark的知识点很多,决定分多P来慢慢讲????,比较关键的RDD算子其实已经写了大半,奈何内容还是太多了就不和这篇扯皮的放一起了。老套路,我们点开官网来see see先吧把这句话翻译一下spark是在Hadoop基础上的改进,是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用的并行计算框架,Spark 基于 mapReduce 算法实现的分布...

2020-02-23 02:13:13 206

原创 一文带你深入Spark Core调优的方方面面

前言本文的注意事项观看本文前,可以先百度搜索一下Spark程序的十大开发原则看看哦文章虽然很长,可并不是什么枯燥乏味的内容,而且都是面试时的干货(我觉得????)可以结合PC端的目录食用,可以直接跳转到你想要的那部分内容图非常的重要,是文章中最有价值的部分。如果不是很重要的图一般不会亲手画,特别是本文2.2.6的图非常重要此文会很大程度上借鉴美团的文章分享内容和Spark官方资料去进行说明,...

2020-02-23 02:07:58 230

原创 一文带你理清Spark Core调优的方方面面

前言本文的注意事项观看本文前,可以先百度搜索一下Spark程序的十大开发原则看看哦文章虽然很长,可并不是什么枯燥乏味的内容,而且都是面试时的干货(我觉得????)可以结合PC端的目录食用...

2020-02-22 04:58:21 175

原创 一文带你过完 Spark RDD的基础概念

前言上一篇我们已经对Spark有了一定程度的认识,权当吹水了,从这篇开始进入正题。上一篇的链接,有兴趣可以先行阅读:从零开始认识Spark(https://juejin.im/post/...

2020-02-10 06:40:09 151

原创 插曲:大白话带你认识Kafka

前言应大部分的小伙伴的要求,在Yarn之前先来一个kafka的小插曲,轻松愉快。一、Kafka基础消息系统的作用应该大部份小伙伴都清楚,用机油装箱举个例子所以消息系统就是如上图我们所说的仓库,能在中间过程作为缓存,并且实现解耦合的作用。引入一个场景,我们知道中国移动,中国联通,中国电信的日志处理,是交给外包去做大数据分析的,假设现在它们的日志都交给了你做的系统去做用户画像分析。按...

2020-01-06 20:11:30 273 2

原创 插曲:Kafka的集群部署实践及运维相关

前言上一篇 Kafka 的文章 — 插曲:大白话带你认识Kafka 中我们应该已经了解了一些关于基础角色和集群架构相关的问题,这时候我们应该很想了解一下如何构建生产中的Kafka集群或者一些相关的运维工具,所以就应运而生了下文,配图基本没有,一、Kafka的生产集群部署1.1 方案背景假设每天集群需要承载10亿数据。一天24小时,晚上12点到凌晨8点几乎没多少数据。使用二八法则估计,也就...

2020-01-06 20:10:36 145

原创 插曲:Kafka的生产者原理及重要参数说明

前言本来插曲系列是应大家要求去更新的,但是好像第一篇的kafka效果还可以所以更插曲就勤快些了(毕竟谁不想看着自己被多多点赞呢hhh????),上一篇说了一个案例是为了说明如何去考量一个kafka集群的部署,算是一个参考吧,毕竟大家在不同的公司工作肯定也会有自己的一套实施方案。这次我们再回到原理性的问题,这次会延续第一篇的风格,带领大家把图一步一步画出来。轻松愉快一、Kafka的Producer原...

2020-01-06 20:09:53 217

原创 插曲:Kafka的生产者案例和消费者原理解析

前言······一、Kafka的Producer小案例假设我们现在有一个电商系统,凡是能登录系统的用户都是会员,会员的价值体现在,消费了多少钱,就会累计相应的积分。积分可以兑换礼品包,优惠券···等等。又到了我们的画图时间????。首先我们得先来一个订单系统,那这个订单系统中肯定就会有数据日志产生,它现在就是把这些日志写到Kafka里面,日志我们使用json的方式记录。图中的statement表...

2020-01-06 20:09:04 411

原创 插曲:Kafka源码预热篇--- Java NIO

前言上一篇的前言我都忘了随便说两句了hhh因为Kafka的源码阅读是需要对Java NIO知识有一定的了解的,所以怎么说,如果觉得自己对于Java这块算是比较熟悉,同样作为插曲篇的这篇是可以直接忽略。因为这篇也不会涉及什么重难点,主要还是过过基础,让后面的源码篇读起来更加通畅。一、NIO基础Java New IO是从Java1.4版本开始引入的一个新的IO api,可以替代以往的标准IO,...

2020-01-06 20:08:22 141

原创 插曲:Kafka的运行流程总结和源码前准备

前言虽然这是一个源码的预热篇同样这也是插曲篇的一个总结,我们从一开始的集群的各个角色,到集群的设计,到网络模型,到生产者,消费者都已经提了个遍。这一篇会把最后的一个内核提一下,然后对以往的概念三篇做一个总结,把流程梳理一下,增加记忆的同时,也让后面的源码变得更加轻松愉快,好的这是最后一次鸽了????。以往链接概念①:插曲:大白话带你认识Kafka实践的:插曲:Kafka的集群部署实践及运维相关...

2020-01-06 20:07:12 217

原创 Kafka源码篇 --- 小白也能看懂的Producer的初始化及元数据获取流程

前言如果是第一次看到这篇的,建议先去补一下以往的5篇基础,会对你理解起来有很大帮助哦插曲:大白话带你认识Kafka插曲:Kafka的生产者原理及重要参数说明插曲:Kafka的生产者案例和消费者原理解析插曲:Kafka的运行流程总结和源码前准备Kafka源码预热篇--- Java NIO从上一年开始鸽了好久的源码篇,终于也是给整了一下。其实一方面也是,怕自己整理不好,看的云里雾里,那也...

2020-01-06 20:06:10 719 1

原创 带你入坑大数据(二) --- HDFS的读写流程和一些重要策略

前言前情回顾如果说上一篇是在阐述HDFS最基础的理论知识,这一篇就是HDFS的主要工作流程,和一些较为有用的策略补充一个问题,就是当我们 NameNode 挂掉,SecondaryNameNode作为新的NameNode上位时,它确实可以根据fsimage.ckpt把一部分元数据加载到内存,可是如果这时还有一部分操作日志在edits new中没有执行怎么办?这时候有一个解决方案就是利用一个...

2020-01-06 19:33:39 474

原创 带你入坑大数据(一) --- HDFS基础概念篇

前言从零开始的高并发系列我们已经把 zookeeper 给更新完了,顺带一提之前的zookeeper并没有结合大数据来进行说明。重新开个坑一方面是一直都想找个理由来总结一下大数据方面的东西,另一方面则是抓住时代的走向吧,毕竟也是为了自己,所以废话不多说我们就开始吧。阅读须知这类似于一份学习笔记,可是绝对有头有尾,会用最清晰明了的语言来描述知识点,希望大家也能有所收获重点:大数据的概念性问题...

2020-01-06 19:32:46 165

原创 Hadoop源码篇 --- 面试常问的Namenode元数据管理及双缓冲机制

前言这两个关于NameNode的问题其实非常地经典,不仅有很多细节可询,而且也是面试的一个高频问题,所以特意独立出来一篇。元数据管理会结合源码来讲,而双缓冲虽然暂时没去翻源码,但是我们可以借由一个简单的实现去向大家好好地说明。后面也会对这段源码进行一些修改操作来让它更为高效。那话不多说咱们就开始吧因为直接看源码大家可能接受不了,所以我们先来聊聊双缓冲机制。一、Namenode的双缓冲机制1...

2020-01-06 19:02:37 1038 1

原创 Hadoop源码篇 --- DataNode的初始化与注册流程

前言因为大家读源码的方式都各有千秋,这里的阅读过程并不代表最佳实践,只是一个自身阅读过程的再现而已。所以如果有一些遗漏的重点,也可以在留言处替我指出。先前也有很多小伙伴提出了一些我的错误或者改进的地方,这里表示衷心的感谢。那按照先前的套路,我们提出两个任务,整篇就为了完成验证下面的任务而进行:1、DataNode初始化:我们平时搭建集群时,通过jps命令时可以看到DataNode的服务的,所...

2020-01-06 19:00:35 717

原创 Hadoop源码篇 --- NameNode的启动流程解析

前言提醒一下,这里面需要有RPC的基础,如果对RPC没有了解的朋友,可以先跳转到以往写的两篇RPC文章中。理论方面:从零开始的高并发(七)— RPC的介绍,协议及框架(可略过)代码方面:从零开始的高并发(八)— RPC框架的简单实现当然也不需要太过深入,知道点皮毛即可。因为Hadoop中有一个Hadoop RPC需要有点基础知识。暂时先记得下面的满足RPC的条件(非完整):1.不同进程...

2020-01-06 18:55:40 922 1

空空如也

空空如也

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

TA关注的人

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