3 不清不慎

尚未进行身份认证

热爱编程,热爱生活。

等级
TA的排名 1w+

【JVM实战】GC回收器详解

在Java虚拟机中,GC回收器不仅仅只有一种,在哪一块内存区域以及场景使用什么垃圾回收器,对于我们编写的程序的性能都有着至关重要的影响,因为,如果我们熟悉每一个GC回收器的运行机制就可以给我们的程序的性能带来很大的提升,本篇文章中,我们来探究一下每一种GC回收器的结构原理。首先,在JVM中,总共有以下几种GC回收器:新生代串行回收器老年代串行回收器新生代ParNew回收器新生代Para...

2019-08-11 12:58:02

Flink启动报错could not be determined automatically

今天发布Flink应用,报如下错误:Thereturntypeoffunction'main(RyeCollectorLauncher.java:77)'couldnotbedeterminedautomatically,duetotypeerasure.Youcangivetypeinformationhintsbyusingthereturns...

2019-07-29 20:02:02

【JVM实战】如何防止OOM内存溢出?

Java开发者们最为头疼的问题就是线上常常会抛出OOM异常,有人说,这肯定是内存不够用了啊,扩大内存容量不就可以了嘛,但是内存是需要代价的,不能无限的扩展,虽然JVM为我们管理内存,保证了内存的合理回收,但是如果我们对它的底层了解的够透彻,编写出更加健壮的程序,就可以降低成本,充分利用资源,减少线上故障带来的损失。在学习如何防止OOM之前,我们首先要知道什么情况下会发生OOM?1.堆溢出堆是...

2019-07-27 19:06:13

Flink Kafka connector详解

在Flink中提供了特殊的Connectors从kafka中读写数据,它基于KafkaConsumerAPI以及ProducerAPI封装了自己的一套API来连接kafka,即可读取kafka中的数据流,也可以对接数据流到kafka中,基于kafka的partition机制,实现了并行化数据切片。下面让我们来看看它的主要API以及使用。Flinkkafkaconsumer使用kafk...

2019-07-20 22:29:17

Hive权威指南学习笔记

原文链接:Hive权威指南学习笔记

2019-07-20 14:33:20

Docker Dockerfile详解

在前面的一篇文章中,我们介绍了如何构建镜像,其中使用Dockerfile文件是最为常用的一种方式,在本篇文章中我们将详细介绍Dockerfile构建镜像的过程以及其命令参数等等。首先我们来看看Dockerfile构建镜像的过程:从基础镜像运行一个容器执行一条指令对容器做出修改执行类似dockercommit的操作,提交一个新的镜像层再基于刚提交的镜像运行一个容器执行Dockerfi...

2019-07-07 22:46:10

Docker镜像创建,拉取以及推送

本篇文章主要讲述如何创建镜像,拉取镜像以及推送镜像到自己的仓库中。创建镜像创建镜像有两种方式:dockercommit构建容器dockerbuild使用Dockerfile文件来构建dockercommit方式来构建容器命令格式如下:例如使用下面命令就可以构建一个镜像:#构建一个镜像dockercommit-a'ljcan'-m'nginx'commi...

2019-07-07 13:00:34

实现LRU Cache(java版)

LRU算法,也叫最近最少使用算法,我们可以使用该算法来实现cache机制,简单地说就是缓存一定量的数据,当超过设定阀值的时候就把一些过期的数据删除掉,本篇文章我们来看看如何实现LRUCache,下面我们使用两种方式来实现。基于LinkedHashMap在java的集合类中有LinkedHashMap类,当参数accessOrder为true的时候,就会按照访问顺序排序,最后访问的放在最前面,...

2019-07-07 09:57:36

Linux系统常用压测工具和性能分析工具

本篇文章介绍几款linux系统性能压测以及分析工具,在实际开发环境中,我们会经常使用到它们对我们的系统进行性能分析。当我们需要判断linux系统的性能时,常常会观察几个常用的指标:平均负载、CPU使用率,IO负载等等。那么当我们需要查看系统平均负载的时候可以使用uptime命令来查看,它代表系统1分钟内、5分钟内、15分钟内的平均负载:[root@izuf64g0bbe3dug64wpdck...

2019-06-29 14:53:03

Spark源码剖析之数据通信模块解析

Spark是一个分布式计算框架,当我们提交一个任务,会划分为多个子任务分发到集群的各个节点进行计算,这里思考一个问题,Spark是如何进行消息的传递,如何将任务分发到各个节点,并且如何将计算结果汇总起来的呢?实际上,Spark内部使用Akka进行消息的传递,心跳报告等,使用Netty提供RPC服务进行数据的上传与下载功能。这点与Flink类似。块管理器BlockManager是Spark存储...

2019-06-17 10:24:43

Spark源码解读之Shuffle计算引擎剖析

Shuffle是Spark计算引擎的关键所在,是必须经历的一个阶段,在前面的文章中,我们剖析了Shuffle的原理以及Map阶段结果的输出与Reduce阶段结果如何读取。该篇文章是对前面两篇文章【Spark源码解读之Shuffle原理剖析与源码分析】【Spark存储机制源码剖析】细节的深入探究。了解Shuffle原理的读者都知道,整个Shuffle过程被划分为map和reduce阶段,在S...

2019-06-16 20:08:21

Flink Savepoint简单介绍

一、什么是savepoint?savepoint是通过checkpoint机制为streamingjob创建的一致性快照,比如数据源offset,状态等。需要我们手动去触发,因此,需要和checkpoint进行区分。checkpoint主要用于自动故障恢复,由Flink自动创建、拥有和发布,不需要用户去交互,当作业呗cancel的时候,checkpoint会被删除,除非设置了External...

2019-06-10 17:00:02

浅谈Kafka选举机制

Kafka是一个高性能,高容错,多副本,可复制的分布式消息系统。在整个系统中,涉及到多处选举机制,被不少人搞混,这里总结一下,本篇文章大概会从三个方面来讲解。控制器(Broker)选主分区多副本选主消费者选主控制器(Broker)选举所谓控制器就是一个Borker,在一个kafka集群中,有多个broker节点,但是它们之间需要选举出一个leader,其他的broker充当follo...

2019-06-09 00:10:46

Spark容错机制剖析

在一个分布式系统中,非常重要的一点就是容错性,Spark也不例外,当它机器发生故障的时候,可以很轻松的应对。本篇容错机制的剖析主要针对Standalone模式进行分析。阅读本篇文章之前,你可以查看之前的【Spark源码解读之Master剖析】以及【Spark源码解读之Worker剖析】的文章,该篇是基于之前文章的补充。在一个Spark集群中,有各种角色,Executor、Worker、Mast...

2019-06-06 09:43:34

Spark Streaming Window核心源码剖析

在SparkStreaming中,提供了窗口计算,可以转换滑动窗口内的数据。每次窗口都在DStream中滑动,窗口内的RDD将被合并生成窗口内的DStream的RDD。如下图所示为滑动窗口的操作:从上图可以看见,window操作需要指定两个参数:窗口长度(windowlength):窗口的周期长度。滑动间隔(slidinginterval):窗口转换的间隔。在SparkStr...

2019-06-05 12:40:15

Spark SQL源码剖析之SqlParser解析

在使用Spark的过程中,由于Scala语法复杂,而且更多的人越来越倾向使用SQL,将复杂的问题简单化处理,避免编写大量复杂的逻辑代码,所以我们想是不是可以开发一款类似Hive的工具,将其思想也应用在Spark之上,建立SQL来处理一些离线计算场景,由于SparkSQL应用而生。在本篇文章中,我们准备深入源码了解SparkSQL的内核组件以及其工作原理。熟悉Spark的读者都知道,当我们调用...

2019-06-04 00:18:01

Flink State状态以及Checkpoint机制(二)

在上篇文章中介绍了如何Flink的State状态,本篇文章接着上篇文章继续介绍Flink的Checkpoint机制。启动checkpoint机制它可以为每一个job备份了一份快照,当job遇到故障重启或者失败的时候,我们就不必从每个job的源头去重新计算,而是从最近的一个完整的checkpoint开始恢复,避免了重复计算,节省了资源,并且保证了ExactlyOnce语义。具体的使用方法以及实现...

2019-05-30 16:15:17

Flink State状态以及Checkpoint机制(一)

一、State状态在Flink中,它使用了State状态机制以及Checkpoint策略提供了强大的容错机制,不过我们需要注意区分它们,State状态是指一个FlinkJob中的task中的每一个operator的状态,而Checkpoint是指在某个特定的时刻下,对整个job一个全局的快照,当我们遇到故障或者重启的时候可以从备份中进行恢复。在Flink中,State中主要分为Operato...

2019-05-29 11:04:56

Flink Window介绍

一、Window的分类什么是window?Flink是一个流处理计算框架,它底层基于流处理引擎,实现了批处理与流处理,在流处理中,为了处理无限的数据集,使用window将无限的数据流切分多个有限的数据块进行计算。我们按照具体的业务需求将window划分为KeyedWindow以及Non-KeyedWindow,如果是KeyedWindow那么它会有多个并行度来计算窗口中的数据,对于Keyed...

2019-05-27 11:10:46

Flink Runtime详解

Flink运行时架构Flink集群的架构,也是典型的主从架构模型,启动Flink,它会启动JobManager以及TaskManager进程,这里以standalone模式来讲解其运行时的架构以及一些细节,集群模式后面的文章汇介绍到。JobManager是master主节点,它主要负责资源的分配、任务的调度以及集群的管理。TaskManager是从节点,如果单独运行在一台机器上则可以称作一个s...

2019-05-26 18:53:34

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。