- 博客(16)
- 资源 (6)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 spark streaming 消费kafka出现OffsetOutOfRangeException异常
一、相关主要组件说明1、spark 版本2.4.32、kafka 版本0.103、scala 版本2.114、通过redis手动维护kafka的offset二、出现的异常如下org.apache.kafka.clients.consumer.OffsetOutOfRangeException: Offsets out of range with no configured reset policy for partitions: {logs.topic.records-50=3709}
2020-05-09 15:39:36
3628
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 spark streaming 消费kafka出现[No current assignment for partition...]异常
一、相关主要组件说明1、spark 版本2.4.32、kafka 版本0.103、scala 版本2.114、通过redis手动维护kafka的offset5、spark streaming结合kafka选用的消费者策略为Subscribe ConsumerStrategy<String, String> subscribe = ConsumerStrategies.Subscribe(topicList, kafkaParams, topicPartitionMap);<
2020-05-09 15:03:37
3516
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 spark-submit提交jar包读取外部配置文件遇到的问题
./bin/spark-submit \ --class com.test.examples.SparkStreaming \ --master yarn \ --deploy-mode client \ --driver-memory 4g \ --executor-memory 4g \ --executor-cores 3 \ --queue q2 \ /pa...
2020-05-01 10:32:26
2381
5
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 HBase RowKey的设计要点
HBase中的RowKey主要有以下的作用:读写数据时通过Row Key找到对应的Region MemStore中的数据按RowKey字典顺序排序 HFile中的数据按RowKey字典顺序排序底层的HFile最终是按照RowKey进行切分的,所以我们的设计原则是结合业务的特点,并考虑高频查询,尽可能的将数据打散到整个集群中。RowKey的设计-SaltingSalting的原理是...
2019-08-21 14:16:49
237
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 HBase数据读写
HBase写数据架构图:HBase写过程如下:先将数据写到WAL中; WAL存放在HDFS上; 每次put、Delete操作的数据均追加到WAL末端; 持久化到WAL之后,再写到MemStore中; 两者写完返回ACK客户端。MemStore其实是一种内存结构,一个Column Family对应一个MemStore,MemStore里边的数据也是对RowKey进行字典排序的,...
2019-08-21 13:27:41
174
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 HBase表里面的数据存储
从上图可以明显看出,这张表有两个Column Family,分别为personal和office。而personal又有三列name、city以及phone;office有两列tel和address。由于存储在HBase里面的表一般有上亿行,所以HBase表会对整个数据按照RowKey进行字典排序,然后再对这张表进行横向切割。切割出来数据是存储在Region里边,而不同的Column Fami...
2019-08-20 17:41:11
1062
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 HBase基本知识
HBase最开始是受Google的BigTable启发而开发的分布式、多版本、面向列的开源NoSQL数据库。其主要特点是支持上亿行、百万列、支持强一致性、并且具有高扩展、高可用的特点。既然HBase是一种分布式的数据库,那么和传统的RMDB有什么区别呢?先来看看HBase表组成元素:RowKey:表中每条记录的主键 Column Family:列族,将表进行横向切割,后面简称CF ...
2019-08-20 16:52:35
521
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 搞定Java垃圾回收(四)
Java堆(Java Heap)是JVM所管理的内存中最大的一块,堆又是垃圾收集器管理的主要区域,这里我们主要分析一下Java堆的结构。Java堆主要分为2个区域,年轻代与老年代,其中年轻代又分Eden区和Survivor区,其中Survivor区域又分为From和to两个区。可能这时候大家会有疑问,为什么需要Survivor区,为什么Survivor还要分为2个区?请继续往下看!1...
2019-07-20 16:37:59
110
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 搞定Java垃圾回收(三)
在确定了哪些垃圾可以被回收后,垃圾收集器要做的事情就是开始进行垃圾回收,但是这里面涉及到一个问题是:如何高效地进行垃圾回收?由于Java虚拟机规范并没有对如何实现垃圾收集器做出明确的规定,因此各个厂商的虚拟机可以采用不同的方式来实现垃圾收集器,这里我们讨论几种常见的垃圾收集算法的核心思想。1、标记-清除算法标记-清除算法(Mark-Sweep)是最基础的一种垃圾回收算...
2019-07-20 15:38:47
78
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 搞定Java垃圾回收(二)
1、可达性分析算法可达性分析算法(Reachability Analysis)的基本思路是,通过一些被称为引用链(GC Roots)的对象作为起点,从这些节点开始向下搜索,搜索走过的路径被称为Reference Chain,当一个对象到GC Roots没有任何引用链相连时(即从GC Roots节点到该节点不可达),则证明该对象是不可用的。如下图:通过可达性算法,成功解决了引用计数所无法...
2019-07-20 14:45:36
156
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 搞定Java垃圾回收(一)
既然我们要做垃圾回收,首先我们得搞清楚垃圾的定义是什么,哪些是内存是需要回收的?1、引用计数算法 引用计数算法(Reachability Counting)是通过在对象头中分配一个空间来保存该对象被引用的次数(Reference Count)。如果该对象被其他对象引用,则它的引用计数加1,如果删除对该对象的引用,那么它的引用计数就减1,当该对象的引用计数为0时,那么该对象就会被回...
2019-07-20 13:47:39
133
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 两个字符串的相似度算法实现——编辑距离之Levenshtein距离
Levenshtein距离(莱文斯距离),是编辑距离的一种。指两个字符串之间一个转成所需的最少编辑操作次数。允许的编辑操作包括一个字符替换成另一个字符,插入一个字符,删除一个字符。适用场景包括一个字符串与多个字符串比较求最相近的字符串等等例如将kitten转成sitting1、sitten (k->s)2、sittin (e->i)3、sitting (->g)...
2019-07-18 14:35:51
744
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 maxwell+kafka+Spark Streaming构建MySQL Binlog日志采集实时处理方案
需求分析说明根据业务场景需要实时处理日志进行实时图表展示(Highchart等),如果进行对数据库频繁抽取会对数据库服务器造成较大的压力,相应的web服务也会受到很大的影响;因此,抽取数据库的日志既能够很大的减轻数据库服务的压力,又能够解决实时处理实时展示图表的需求。本博客MySQL Binlog日志采集为例提供解决方案一、部署安装maxwell采集器 1) 首先查看mysql是否...
2018-08-03 18:34:37
2695
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 百度ueditor编辑器将图片上传到非项目根路径(保存在磁盘上)或独立服务器解决方案
1、如果通过百度Ueditor直接将图片上传到服务器上,当你重新发布项目到服务器上,容易造成图片的丢失!为了防止该事件的发生,尽量将图片上传到磁盘上或者独立存图片的服务器上。 2、百度Ueditor默认情况下存放在相对web工程根路径如本地:D:\workspaces\smartstar2\.metadata\.plugins\org.eclipse.wst.server...
2017-12-21 10:14:35
14165
3
原创 JVM哪些区域会发生内存溢出
1、MetaSpace区域会发生内存溢出 第一种原因:上线的时候MetaSpace区域直接用默认的参数,即根本不设置其大小,这会导MetaSpace区域可能才几十M而已或者设置的比较小,此时对于一个稍微大型系统,因为他有很多自己的类,还依赖了很多外部jar包的类,MetaSpace空间很容易不够的。 第二种原因:就是很多人开发系统代码都会用一些cglib之类的技术动态生成一些类,一旦代码没有控制好,导致生成的类过多的时候,就很容易MetaSpace给塞满,进而引起内存溢出。2、每个线程...
2021-06-26 09:32:07
1396
原创 简单叙述下cms(标记-清除算法)垃圾回收器原理
初始标记:标记由4种(1:虚拟机(JVM)栈中引用对象 2:方法区中的类静态属性引用对象 3:方法区中常量引用的对象(final 的常量值) 4:本地方法栈JNI的引用对象)gc roots直接关键的对象;并发标记:对老年代所有的对象进行trace,看看是否能与GC Roots建立关系;最终标记:标记并发标记阶段引用变动的对象;并发清理:并发清理掉可回收的内存,但是因为与用户线程并行运行,所以每次Full GC都会清理不干净,产生浮动垃圾。...
2021-06-16 11:29:06
710
解决百度ueditor编辑器将图片上传到非项目根路径(保存在磁盘上)修改源码版
2017-12-21
Unity3D圣典中文脚本
2015-10-13
ASP,NET MVC
2015-06-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人