- 博客(14)
- 问答 (1)
- 收藏
- 关注
原创 GroupCoordinator 源码之HEARTBEAT
GroupCoordinator 源码之HEARTBEAT前言: 上一节GroupCoordinator 源码之FIND_COORDINATOR、JOIN_GROUP、SYNC_GROUP_aLivable_Dedode的博客-CSDN博客 ,介绍了从KafkaServer端GroupCoordinator 启动后,同一个Topic同一个GroupId下consumer的注册过程以及Group的状态变更。Topic会选举出来一个GroupCoordinator,之后Group会从第一次出现时被创建初始
2022-02-28 22:04:54 1008
原创 GroupCoordinator 源码之FIND_COORDINATOR、JOIN_GROUP、SYNC_GROUP
Kafka 2.0 GroupCoordinator 源码分析
2022-02-27 15:50:35 363
翻译 逃不过的JVM细化(一)
逃不过的JVM细化(一)拖了很久又开始了,果然躲不过,逃不了。能写多少写多少吧,看天意预备知识:简介JVM1. 分代收集理论 当前商业虚拟机的垃圾收集器,大多数都遵循了“分代收集”的理论进行设计,在这个理论下有分为两个分代假说上:弱分代假说:绝大多数对象都是朝生夕灭的强分代假说:熬过越多次垃圾收集过程的对象就越难以消亡由此奠定了多款常用的垃圾收集器的一致的设计原则:垃圾收集器应该将Java堆划分出不同的区域,然后将回收对象依据其年龄分配到不同的区域之中存储。其目的是将需要经常清理的部分和
2020-07-16 23:48:46 210
翻译 线程池篇(一)有的线程
前提:最近看了别人写的一个关于线程池的,发现好像不太了解,本着代码不会骗人的思想,亲手实验一把。有的线程它活着,但它躺在池中碌碌无为;有的线程它死了,于是它变成一道面试题。看到这句话不知道为啥有点心酸又有点想笑。一个线程池中的线程异常了,那么线程池会怎么处理这个线程? 看到这个的时候我的一个反应是:抛出异常,根据线程池定义的策略进行后续的处理,想想看自己“会的真多”。那么代码敲起来,没代码,假把式public class ExecutorsTestV1 { public static v
2020-06-21 01:12:15 362
翻译 设计模式六大原则
设计模式六大原则:1. 单一职责原则(SRP) 每一个只有一个原因引起类变化,理想情况下是这么设计,但现实因为类分工的标准不一样,导致类功能分离的程度不一样,所以现实中一般是对接口进行单一职责原则的定义 – 将接口的职能单一化,类功能也尽量单一功能话,后续的维护、可读性会增加,不过文件数会增加2.里氏替换原则(LSP) 看到名字,感觉好高大的样子,也对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的 。有
2020-06-07 21:57:18 196
翻译 不要错过的Redis
不要错过的Redis一、引入介绍 当前比较热门的NOSQL系统之一,它是一个开源的使用ANSI c语言编写的key-value存储系统(区别于MySQL的二维表格的形式存储)。和Memcache类似,但很大程度补偿了Memcache的不足。和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性
2020-06-05 00:16:04 449
原创 看看HBase Bulkload 源码
看看HBase Bulkload 源码什么都别说先看代码val regionLocator = new HRegionLocator(hbTableName, classOf[ClusterConnection].cast(conn))val loader = new LoadIncrementalHFiles(hbaseConf)val admin = conn.getAdmin()loader.doBulkLoad(new Path(path),admin,realTable,regionLo
2020-05-23 00:13:46 570
翻译 我想看看Flume
我想看看FlumeFlume 是什么 在一个完整的离线大数据处理系统中,除了hdfs+mapreduce+hive组成分析系统的核心之外,还需要数据采集、结果数据导出、任务调度等不可或缺的辅助系统,而这些辅助工具在hadoop生态体系中都有便捷的开源框架。Flume是Cloudera提供的一个高可用的,高可靠的,分布式的==海量日志采集、聚合和传输的系统==Flume支持在日志系统中定制各类数据发送方,用于收集数据;Flume提供对数据进行简单处理,并**写到各种数据接受方(可定制)**的能力
2020-05-23 00:03:44 289
原创 我想看看Sqoop
Sqoop 简介1. Sqoop是什么 Sqoop(sql to hadoop)是apache旗下的一款 ”Hadoop和关系数据库之间传输数据”的工具,它可以将Mysql、Oracle数据导入到HDFS、Hive、HBase等数据存储系统,也可以从Hadoop文件系统中到处数据到关系型数据库。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ICKKbG6E-1590070520349)(Sqoop 简介.assets/1590067412280.png)]2. Sq
2020-05-21 22:19:00 200
翻译 简介JVM
简介JVM1.回收的是什么? 对象1.1 什么是对象 Java 万物皆对象1.2对象里有什么?1.2.1 从代码上看 属性:表示有什么方法 : 表示能干什么1.2.2 从jvm底层看 对象头MarkWord:存储 :对象哈希码、GC 分代年、锁状态标志、线程持有锁、偏向线程ID、偏向时间戳等synchronized 用的锁就是存在 Mark Word 中,在运行期间,Mark Word 里存储的数据会随着锁标志位的变化而变化,会有以下五种变化。注意无锁态和偏向锁的锁标志位相同,额
2020-05-20 22:57:07 386
原创 NameNode 初始化过程
HDFS文件系统是主从分布式文件系统,其中其中主节点为master,上面有一个非常重要的节点NameNode ,它的作用有管理整个集群的元数据信息、响应客户端的请求、接受DataNode心跳信息、定期CheckPoint等,它管理着集群。在安装hadoop之后启动之前先需要进行格式化操作,然后会用sbin/hadoop-dasmon.sh start namenode启动进程。 在源码中可以看到在...
2019-12-24 00:03:26 1678
原创 Kafka on Docker
//启动zookeeperdocker run -d -p 2181:2181 –net=zoonet –name=zookeeper -e ZOOKEEPER_CLIENT_PORT=2181 wurstmeister/zookeeper//启动kafkadocker run -d –net=zoonet –name kafka -p 9092:9092 -e KAFKA_...
2019-12-23 10:49:59 183
翻译 Java虚拟机 第七章之虚拟机类加载机制
#7.1 概述问题: 1.虚拟机如何加载class文件? 2.class文件中的信息进入到虚拟机后会发生什么变化?什么是虚拟机类加载机制? 书中写到:虚拟机把描述类的数据从class文件中加载到内存,并对数据进行验证、转化解析和初始化,最终形成被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。在Java语言中,类的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽...
2019-05-23 23:59:10 200
原创 线程池之介绍以及创建
一切开始:接口Exector线程池的开始都是从这个Exector接口开始,后续又经由ExectorService、AbstractExecutorService、ThreadPoolExecutor等一系列的接口和方法来进一步丰富线程池的诸多功能,参考下面的图片(不是所有方法都列上了)。线程池的开始:ThreadPoolExecutor从上面的图片中可以看到ThreadPoolExecut...
2019-05-13 18:27:06 246 1
空空如也
Flink local模式下,运行Flink自带的jar包一直报错
2019-11-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人