自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 线上jvm OOM(原因:对象实例过多)

jmap dump下来分析是一个对象实例过多,且该对象包含大json,因为是偶发,所以很诡异。 最后排查原因 定时任务拉取操作记录对象,拉取设置的时间范围过大 为什么时间范围过大 使用了一个当前时间和上一次定时任务运行时间 用了本地变量去存储上一次时间,然后定时任务执行完去更新上一次时间变量 ...

2020-05-26 23:43:37 28 0

原创 hadoop yarn

目录hadoop 1.0 JobTrackeryarn类比图理解架构 hadoop 1.0 JobTracker hadoop 1.0,图书《Hadoop技术内幕:深入理解MapReduce架构设计与实现原理》 缺点: JobTracker 存在单点故障,扩容有限 TaskTracker端,以...

2020-05-14 10:01:44 107 0

转载 druid.io 精确去重【转载】

转自,作者 https://mp.weixin.qq.com/s/jDW1sordtki-O5-tsVE94g BitMap 一个int(32bit),无符号数的范围是:[0, 4294967295] (42亿多,即2^32 - 1), 这样需要存储: 4B * 4294967295 =

2020-05-10 23:52:22 61 0

原创 hadoop mapreduce有哪些地方使用了排序?

前言 如题:hadoop mapreduce 整个过程中有哪些排序?这是个经典问题,且排序也是在大学学习《数据结构》这门课程中专门的一个章节,也是对排序以及其使用场景的加深 源码部分仍然是先学习hadoop 简单的MapReduce源码分析(源码&流程&word count日志) ...

2020-05-09 20:55:42 33 0

原创 hadoop自定义分区&数据倾斜问题引入(仍然是wordcount 例子实践)

输入输出说明 HDFS Block: 128M words_skew: 1.4G 大概 11块还多点,所以Block 0…11(共 12 个 block) 最后单词计数结果 abc 19178419 count 19168329 hadoop 19173414 hello 153388549 o...

2020-05-09 00:23:03 78 0

原创 Hadoop 两张表,三种 join 方式的实践

// TODO 后续需要结合spark join 对比理解 问题引入 这也是网上搜出来的大部分 订单表(orderId, proId, amount) 1001 01 1 1002 02 2 1003 03 3 1004 01 4 1005 02 5 1006 03 6 产品表(proId...

2020-05-04 22:57:25 58 0

原创 2020的五一生活记录

2020-05-03日记 这个五一只有三天(上一个五一当然也只有三天);上班后,已然不觉;昨天(5月2日加班了一天),而明天(05-04)又要开始上班了; 真的感叹这时光 五一学习 leetcode 5月也有每日一题了,做了两题 druid.io 的一些知识又过了下,相关博文调整了下 hadoo...

2020-05-03 17:50:42 130 0

原创 Spark 学习笔记(一)概念,demo入门

目录说明spark word count 例子 说明 TODO,就这一篇,自学个3个月 spark word count 例子 import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaPairRDD; imp...

2020-05-03 15:20:44 61 0

原创 大文本文件(接近7GB): 统计频数,Top K问题求解(二)

目录说明原始输入word count MR & 输出输出MR日志TopK 求解输入输出附:Java代码 说明 本文是接着上一篇博文:大文本文件(接近7GB): 统计频数,Top K问题求解,用Hadoop mapreduce 处理求解说明,标题沿用了上一篇的 原始输入 5.6G的原始txt...

2020-05-01 17:32:23 102 0

原创 HyperLogLog(基数估算)的一些问题和知识收集

搞druid.io不懂HyperLogLog,有点说不过去,一定要懂,并且网上资料那么多,没有理由不去理解它。 一些文章收集

2020-04-27 23:02:06 77 0

原创 Druid.io index_hadoop

hadoop任务配置文档 map public abstract class HadoopDruidIndexerMapper<KEYOUT, VALUEOUT> extends Mapper<Object, Object, KEYOUT, VALUEOUT> @Over...

2020-04-20 00:04:08 130 0

原创 HttpClient的使用和各种报错

项目中用到了HttpClient, 开发运维过程中也遇到了各种报错,遂整理,以加深认识和方便复习巩固 java.net.ConnectException: Connection refused (Connection refused) 服务端没有启动,客户端尝试去连接请求, 客户端调用代码报错就会...

2020-04-05 00:01:26 62 0

原创 java NPE 犯错收集

1. Boolean 为null 如下if(null){}则java.lang.NullPointerException if(info != null && info.getFlag()){ // do sth. } 正确写法 if(info != null &...

2020-04-02 22:52:34 229 0

转载 Hive word count 实践

mysql&gt; select count(1) from test_user where username like '%1%'; +----------+ | count(1) | +----------+ | 5217032 | +----------+ 1...

2020-03-26 00:29:12 44 0

原创 Druid.io broker 问题

broker 查询

2020-03-23 23:15:07 59 0

原创 Druid.io 任务进程执行的结束阶段突然卡住

整体服务架构理解

2020-03-23 14:16:01 76 0

原创 Druid.io 实时和离线任务使用的MiddleManager分离

首先做的是:实时和离线任务使用的MiddleManager分离;不过后面发现可以做出各种定制化方案,已确保重要任务,大任务也能隔离 实时和离线任务的区别 影响不一样 离线挂了,只要上游hive表数据有,可以立刻再重来一次;实时挂了,可能就出现丢/重的问题了,并且由于是实时查询,可能一大波实时因...

2020-03-23 10:56:50 53 0

原创 Druid.io 优化 SQLMetadataSegmentManager

做的事情 优化元数据segment全量拉取方式,改为增量拉取 首先要声明的是 元数据存储用的MySQL 有效segment到达1百万了 有如下现象 如下语句大量慢查询 (DBA平台告警,DBA吐槽点:频率高,调用语句单一) SELECT payload FROM druid_seg...

2020-03-22 23:54:51 80 0

转载 Hadoop MR(In English)

参考文档 https://netjs.blogspot.com/2018/02/how-mapreduce-works-in-hadoop.html Map and Reduce tasks in Hadoop input splits in Hadoop(processed by the map...

2020-03-15 10:10:20 23 0

原创 数据处理服务中间层系统

回忆下算法的几个特征: 有穷性(Finiteness) 算法的有穷性是指算法必须能在执行有限个步骤之后终止; 确切性 (Definiteness) 算法的每一步骤必须有确切的定义; 输入项 (Input) 一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件...

2020-03-14 15:32:28 47 0

原创 高网络IO引起的CPU负载问题,当然也有gc问题

gc log截图部分如下 当时是收到了cat心跳告警,当时的一些现场 系统负载飙高 gc & 线程 Falcon查看机器的cpu,io情况 磁盘IO 网络IO飙高,CPU负载也飙高 原因 机器是8C12G的 当时是开了400个线程在消费一个有400个partition的t...

2020-03-10 00:01:20 38 0

原创 Java CPU,内存等问题排查演练

cpu 负载高排查演练 1 启动java程序并观察cpu负载 import java.util.*; import java.util.concurrent.TimeUnit; class Test { void testCpu(){ int num = 0; ...

2020-02-15 23:24:07 76 0

原创 2020除夕日记

因为流感,因为封城,没有爆竹之声,没有红色对联,没有美味的团圆饭,第一次异地一人,健康的活着大概是目前能对父母及自己最好的话语。 不要怪那些所谓/那些不好的事,写一些共勉的话,也是告别学生时代,对工作1年半的一些总结 生活 我的年夜饭:有肉,有菜,有饭,有面,有水。 生活我一直认为简单就好。可能...

2020-01-24 18:51:14 1601 0

原创 结合几张mysql表分析常见查询语句以及对多维分析的入门

主要是结合几张mysql表,分析常用的查询和数据处理,以便更好的理解分析,sql语句,以及为多维分析的理解打下基础 关于case when 附 mysql 表和数据 -- 建学生信息表student create table IF NOT EXISTS student ( sno varchar(...

2020-01-11 19:40:48 185 0

原创 工作项目总结:Superset

本文主要记录工作中,企业对开源项目Supsert(https://github.com/apache/incubator-superset)的改进,以及个人对此项目的一些总结。

2020-01-11 15:47:57 699 1

原创 《程序员代码面试指南》总结

188道整理至:https://github.com/doctording/code 毕竟不必应届生,前期刷题太慢了,后期稍微好点,第一遍刷完共耗时4个月,实在是有些久。 主要还是参考《程序员代码面试指南》一书,很多最优解比较难想到,且即便刷完了第一遍,事实上仍然很多不懂,还需要反复刷 里面的题目...

2020-01-11 12:05:35 162 0

原创 写给大学新生

本人工科计算机专业,给新生的一些建议,部分也适用于所有专业同学,有益的吸取,无益的忽略 当然本人也不够努力,很多好习惯也没有坚持,大学期间也有不少遗憾,下面直说 编程入门 建议是C、Python、Java,三者选择其一即可;语言只是工具,更广/更深的很多,但必须要掌握一个工具,这样才能做很多事情 ...

2019-11-22 08:49:16 220 0

原创 线上EntityUtils.toString(resEntity,"UTF-8") 处理时间很长问题

httpClient http 耗时久,排查是非流式处理返回数据的EntityUtils.toString(resEntity,"UTF-8")这句耗时很久,返回数据量太大了 相关文档与讨论 https://hc.apache.org/httpcomponents-core-g...

2019-10-19 14:26:32 847 2

翻译 druid.io架构的个人理解学习 part1 part2 翻译

historical 内存使用 从 deep storage 加载segment 到 内存中 处理查询,本地结果缓存 Broker 内存使用 维持 historical 分布 segment 的全局视图 (ZK 事件订阅) 处理查询,本地结果缓存 用户查询随机到一台broker bro...

2019-09-15 14:07:46 52 0

原创 druid.io架构的个人理解学习

druid官方文档 架构图 需要回答的问题 数据怎么进入系统 实时数据,离线数据直接创建任务发送到Overlord (外部系统传输数据到Druid) 数据怎么存储 离线(非实时部分)数据:存储到深度存储,数据元信息写入元数据库,由coordinator将数据加载到historical 实时数据:...

2019-09-10 23:17:13 112 0

原创 zookeeper 使用 curator (参考druid.io源码)

创建节点 static String path = "/test/task"; public static void main(String[] args) { RetryPolicy retryPolicy = new ExponentialBackoffR...

2019-08-17 22:26:10 110 0

原创 令牌桶限流 和 信号量 理解

控制访问速率,令牌桶 每过1/r秒桶中增加一个令牌。 桶中最多存放b个令牌,如果桶满了,新放入的令牌会被丢弃。 当一个n字节的数据包到达时,消耗n个令牌,然后发送该数据包。 如果桶中可用令牌小于n,则该数据包将被缓存或丢弃。 令牌桶控制的是一个时间窗口内通过的数据量,在API层面我们常说的QP...

2019-08-14 23:36:16 122 0

原创 druid.io 列式数据存储和简单分析 TODO

数据 和 列存储 基数 字典编码 倒排索引 BitMap 查询1: 所有记录中找 city=‘shanghai’ and product=‘cellphone’ 的行 city=‘shanghai’ 的 bitmap 1,0,1,0,0,1 与 product=‘cellphone’ 的b...

2019-08-12 23:08:09 109 0

原创 信号量限流测试和一些问题分析

参考 http://developer.51cto.com/art/201907/600469.htm https://www.cnblogs.com/trust-freedom/p/6606594.html jmeter 测试 虽然我们的接口耗时只有100ms,实际的执行时间,却长的多 有大...

2019-08-12 22:49:29 88 0

原创 CompletableFuture future.get 遇到 java.util.concurrent.TimeoutException

2019-08-07 工作中遇到的问题 大概是: 有个线程池满了,然后新的任务使用CompletableFuture.supplyAsync执行,用future1.get(1, TimeUnit.SECONDS)) 去获取的时候报错java.util.concurrent.TimeoutExcep...

2019-08-07 22:33:45 216 0

原创 mvn常用命令和使用

编译 mvn compile 编译测试 mvn test-compile 运行测试 mvn test 清除 mvn clean 会清除生产的target目录 打包(包括测试,是把jar打到本项目的target) mvn package 打包,并把target下的jar安装到...

2019-08-06 23:53:41 72 0

原创 kafka producer

借助Kafka-1.1.0一个比较老的版本查看源码学习:https://github.com/doctording/kafka-1.1.0-src/pull/1/files 整体大致流程 摘自:https://www.cnblogs.com/bigshark/p/11184070.html 分同...

2019-08-05 09:27:05 363 2

原创 《Kafka源码解析与实战》Broker的控制管理模块

Kafka broker 相关 KakfaController的选举 创建一个 control 瞬时节点(Ephemeral Node),创建该瞬时节点的原子性有zookeeper保证 KakfaController 初始化 初始化Kafka集群内部的时钟,其时钟的具体数值是存在zookee...

2019-08-03 22:54:56 61 0

原创 KafkaProducer & KafkaConsumer API 使用- 多线程消费多patition

topic的创建见 https://blog.csdn.net/qq_26437925/article/details/97611693 发数据到kafka void send(){ Properties props = new Properties(); prop...

2019-07-28 23:33:25 80 0

原创 KafkaProducer & KafkaConsumer API 使用

http://kafka.apache.org/ 普通java程序,gradle 引入jar compile "org.slf4j:slf4j-nop:1.7.2" compile "org.apache.kafka:kafka-clients:2.2.0"...

2019-07-28 10:36:49 69 0

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