2019年7月14日

hive安装

摘要: 1 前提 1. 安装java 2. "安装hadoop" 2 下载安装 2.1 下载 从这里下载,这里以apache hive 2.3.5为例。 https://hive.apache.org/downloads.html 2.2 解压 & 配置环境变量 3 配置 3.1 前提 1. 必须在path 阅读全文

posted @ 2019-07-14 08:52 吼吼吼的吼 阅读(157) 评论(0) 推荐(0) 编辑

2019年6月22日

GC root & 使用MAT分析java堆

摘要: 当我们的java程序遇到频繁full gc或者oom的时候,我们常常需要将当前的heap dump出来进行进一步的分析。 "MAT" 是用于分析heap dump的神器。 1 生成heap dump heap dump是jvm内存中某一时刻所有对象的的快照。通常用于定位java程序的内存泄露或者优化 阅读全文

posted @ 2019-06-22 17:48 吼吼吼的吼 阅读(4222) 评论(0) 推荐(0) 编辑

2019年5月30日

jinfo介绍

摘要: 1. jinfo 1.1 简介 jinfo用于打印java的配置信息,这些配置信息包括: java system properties jvm命令行参数 通过查看这些配置信息,可以了解java进程的运行时环境,例如加载类的顺序、jvm配置情况等。 1.2 使用 jinfo pid . 即不加参数,j 阅读全文

posted @ 2019-05-30 00:32 吼吼吼的吼 阅读(1774) 评论(0) 推荐(0) 编辑

2019年5月12日

yarn上运行flink环境搭建

摘要: 主要完成hadoop集群搭建和yarn上运行flink 1.搭建hadoop伪集群 主要是搭建hadoop MapReduce(yarn)和HDFS 1.1 下载&配置环境变量 这里下载的hadoop二进制包为 "2.7.7" ,下载后解压到本地,假设是/usr/hadoop/hadoop 2.7. 阅读全文

posted @ 2019-05-12 11:31 吼吼吼的吼 阅读(3050) 评论(0) 推荐(0) 编辑

2018年10月9日

kafka消费组创建和删除原理

摘要: 0.10.0.0版本的kafka的消费者和消费组已经不在zk上注册节点了,那么消费组是以什么形式存在的呢? 1 入口 看下kafka自带的脚本kafka consumer groups.sh,可见脚本调用了kafka.admin.ConsumerGroupCommand 看下Consumer 阅读全文

posted @ 2018-10-09 09:22 吼吼吼的吼 阅读(7284) 评论(0) 推荐(0) 编辑

2018年10月8日

consumer提交offset原理

摘要: 1 数据结构 消费者的消费状态是保存在SubscriptionState类中的,而SubscriptionState有个重要的属性那就是assignment保存了消费者消费的partition及其partition的状态 看下TopicPartitionState。TopicPartitionSt 阅读全文

posted @ 2018-10-08 09:05 吼吼吼的吼 阅读(2737) 评论(0) 推荐(0) 编辑

2018年10月5日

producer内存管理分析

摘要: 1 概述 kafka producer调用RecordAccumulator append来将消息存到本地内存。消息以TopicPartition为key分组存放,每个TopicPartition对应一个Deque;RcordBatch的消息实际存储在MemoryRecords中;MemoryR 阅读全文

posted @ 2018-10-05 10:29 吼吼吼的吼 阅读(653) 评论(0) 推荐(0) 编辑

2018年9月29日

java线程池源码分析

摘要: 我们在关闭线程池的时候会使用shutdown()和shutdownNow(),那么问题来了: 1. 这两个方法又什么区别呢? 2. 他们背后的原理是什么呢? 3. 线程池中线程超过了coresize后会怎么操作呢? 为了解决这些疑问我们需要分析java线程池的原理。 1 基本使用 1.1 继承 阅读全文

posted @ 2018-09-29 15:20 吼吼吼的吼 阅读(489) 评论(0) 推荐(0) 编辑

2018年9月26日

AQS分析笔记

摘要: 1 介绍 AQS: AbstractQueuedSynchronizer,即队列同步器。是构建锁或者其他同步组件的基础框架。它维护了一个volatile int state(代表共享资源)和一个FIFO线程等待队列(多线程争用资源被阻塞时会进入此队列)。 state的访问方式有: getState 阅读全文

posted @ 2018-09-26 20:56 吼吼吼的吼 阅读(210) 评论(0) 推荐(0) 编辑

2018年9月21日

select poll和epoll

摘要: select poll epoll都是IO多路复用机制。这里的复用其实可以理解为复用的线程,即一个(或者较少的)线程完成多个IO的读写。这里总结下这三个函数的区别。 1 select 1.1 select原理分析 1 select的函数原型是 使用的时候需要将fd_set从用户空间copy到内 阅读全文

posted @ 2018-09-21 11:30 吼吼吼的吼 阅读(284) 评论(0) 推荐(0) 编辑

导航