自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 初始化hive元数据

在hive-site.xml 中增加配置。

2023-06-27 15:38:25 963 1

原创 一次Storm进程JVM内存一直递增,运行效率越来越慢的问题排查

待续

2021-10-29 17:15:20 797

原创 flink sql 使用过程中rowtime与proctime的问题

flink sql 版本1.12.3第一步:创建kafka tableString desc = "CREATE TABLE KafkaTable (\n" + " ts as LOCALTIMESTAMP,\n" + " `body` STRING ,\n"+ " WATERMARK FOR ts AS ts - INTERVAL '1' SECOND \n"+ ") WITH (\n" + " 'conn

2021-05-18 17:30:01 8259 1

原创 flink keyDatastream中如何使用CheckpointedFunction

项目中使用场景:经过keyby hash 分组后,需要读取每个实例中的state数据,并且还要支持checkpoint防止数据丢失,和算子scale后state数据的重新分配第一步:实现CheckpointedFunction@Override public void snapshotState(FunctionSnapshotContext context) throws Exception { checkpointedState.clear(); ...

2021-05-06 17:10:20 345 1

原创 flink waterMark window trigger之剖析

flink waterMark window trigger之剖析stream .keyBy(...) <- keyed versus non-keyed windows .window(...) <- required: "assigner" [.trigger(...)] <- optional: "trigger" (else default tr...

2021-04-23 14:43:09 190

原创 flink如何控制日志输出大小

flink 默认采用log4j的日志输出,调整flink的日志类型 log4j==》logback,主要解决日志过大的问题1.默认log4j 将lib目录下log4j-1.2-api-2.12.1.jar log4j-api-2.12.1.jar log4j-core-2.12.1.jar log4j-slf4j-impl-2.12.1.jar 备份把logback的依赖包logback-classic-1.2.3.jar, logback-core-1.2.3.jar 放入的lib中2.将l...

2021-04-22 14:55:52 1198

转载 Spark学习之路 (八)SparkCore的调优之开发调优

目录调优概述 原则一:避免创建重复的RDD 一个简单的例子 原则二:尽可能复用同一个RDD 一个简单的例子 原则三:对多次使用的RDD进行持久化 对多次使用的RDD进行持久化的代码示例 Spark的持久化级别 如何选择一种最合适的持久化策略 原则四:尽量避免使用shuffle类算子 Broadcast与map进行join代码示例 原则五:使用map-s...

2019-12-18 18:37:16 88

原创 hadoop单namenode升级HA

1.hadoop先进入安全模式,合并edits并备份namenode元数据  hadoop dfsadmin -safemode enter  hadoop dfsadmin -saveNamespace  stop-dfs.sh2.修改配置文件core-site.xml,hdfs-site.xml支持HA3.启动sbin/hadoop-daemon.sh start journaln...

2018-12-11 18:42:19 656

原创 数据结构之一:二叉树之四种遍历实现

package Tree; import java.util.ArrayDeque;import java.util.Queue;import java.util.Stack; public class BinaryTree {    /*    * 前序遍历,递归实现    * */    public void PreOrder(TreeNode node) { ...

2018-12-07 19:23:20 244

转载 深入理解JVM(七)——性能监控工具

工欲善其事必先利其器,性能优化和故障排查在我们大都数人眼里是件比较棘手的事情,一是需要具备一定的原理知识作为基础,二是需要掌握排查问题和解决问题的流程、方法。本文就将介绍利用性能监控工具,帮助开发者更快更准的找到问题产生的根源。本文分为三部分,第一部分将介绍在Linux环境下的常用监控工具,第二部分介绍Windows环境下的监控工具,第三部分将通过一个案例,介绍利用这些监控工具一步一步找出java...

2018-12-06 13:57:15 114

转载 深入理解JVM(六)——类加载器原理

我们知道我们编写的java代码,会经过编译器编译成字节码文件(class文件),再把字节码文件装载到JVM中,映射到各个内存区域中,我们的程序就可以在内存中运行了。那么字节码文件是怎样装载到JVM中的呢?中间经过了哪些步骤?常说的双亲委派模式又是怎么回事?本文主要搞清楚这些问题。类装载流程1、加载加载是类装载的第一步,首先通过class文件的路径读取到二进制流,并解析二进制流将里面...

2018-12-06 13:56:16 99

转载 深入理解JVM(五)——垃圾回收器

上一篇我们介绍了常见的垃圾回收算法,不同的算法各有各的优缺点,在JVM中并不是单纯的使用某一种算法进行垃圾回收,而是将不同的垃圾回收算法包装在不同的垃圾回收器当中,用户可以根据自身的需求,使用不同的垃圾回收器,以便让自己的java程序性能到达最佳。在介绍垃圾回收器之前,我们先回顾一下java堆的结构。堆内存回顾java堆内存结构包括:新生代和老年代,其中新生代由一个伊甸区和2个幸存...

2018-12-06 13:55:22 111

转载 深入理解JVM(四)——垃圾回收算法

我们都知道java语言与C语言最大的区别就是内存自动回收,那么JVM是怎么控制内存回收的,这篇文章将介绍JVM垃圾回收的几种算法,从而了解内存回收的基本原理。stop the world    在介绍垃圾回收算法之前,我们需要先了解一个词“stop the world”,stop the world会在执行某一个垃圾回收算法的时候产生,JVM为了执行垃圾回收,会暂时java应用程序的执行,...

2018-12-06 13:53:42 127

转载 深入理解JVM(三)——配置参数

JVM配置参数分为三类参数:1、跟踪参数2、堆分配参数3、栈分配参数这三类参数分别用于跟踪监控JVM状态,分配堆内存以及分配栈内存。跟踪参数跟踪参数用于跟踪监控JVM,往往被开发人员用于JVM调优以及故障排查。1、当发生GC时,打印GC简要信息使用-XX:+PrintGC或-verbose:gc参数这两个配置参数效果是一样的,都是在发生GC时打印出简要的信息,例...

2018-12-06 13:52:40 181

转载 深入理解JVM(二)——内存模型、可见性、指令重排序

我们介绍了JVM的基本运行流程以及内存结构,对JVM有了初步的认识,这篇文章我们将根据JVM的内存模型探索java当中变量的可见性以及不同的java指令在并发时可能发生的指令重排序的情况。内存模型    首先我们思考一下一个java线程要向另外一个线程进行通信,应该怎么做,我们再把需求明确一点,一个java线程对一个变量的更新怎么通知到另外一个线程呢?我们知道java当中的实例对象、数组元...

2018-12-06 13:51:26 85

转载 深入理解JVM(一)——基本原理

前言  JVM一直是java知识里面进阶阶段的重要部分,如果希望在java领域研究的更深入,则JVM则是如论如何也避开不了的话题,本系列试图通过简洁易读的方式,讲解JVM必要的知识点。运行流程  我们都知道java一直宣传的口号是:一次编译,到处运行。那么它如何实现的呢?我们看下图:  java程序经过一次编译之后,将java代码编译为字节码也就是class文件,然后在不同的操...

2018-12-06 13:48:43 102

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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