自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大JAVA解决方案

数据科学

  • 博客(35)
  • 资源 (8)
  • 收藏
  • 关注

原创 文件操作liunx

2020-07-30 14:13:13 109

原创 Flink架构及其工作原理

目录System Architecture Data Transfer in Flink Event Time Processing State Management Checkpoints, Savepoints, and State RecoverySystem Architecture分布式系统需要解决:分配和管理在集群的计算资源、处理配合、持久和可访问的数据存储、失败恢复。Fink专注分布式流处理。Components of a Flink SetupJo...

2020-07-30 13:59:39 200 1

原创 Flink 清理过期 Checkpoint 目录的正确姿势

本博客是笔者在生产环境使用 Flink 遇到的 Checkpoint 相关故障后,整理输出,价值较高的 实战采坑记,本文会带你更深入的了解 Flink 实现增量 Checkpoint 的细节。通过本文,你能 get 到以下知识:Flink Checkpoint 目录的清除策略 生产环境应该选择哪种清除策略 生产环境必须定期脚本清理 Checkpoint 和 Savepoint 目录 RocksDB 增量 Checkpoint 实现原理 如何合理地删除 Checkpoint 目...

2020-07-30 13:49:18 1291 2

原创 聊聊flink的checkpoint配置

序本文主要研究下flink的checkpoint配置实例StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();// start a checkpoint every 1000 msenv.enableCheckpointing(1000);// advanced options:// set mode to exactly-once (this is th...

2020-07-30 09:47:54 945 1

原创 elasticsearch运维实战之2 - 系统性能调优

elasticsearch性能调优集群规划独立的master节点,不存储数据, 数量不少于2 数据节点(Data Node) 查询节点(Query Node),起到负载均衡的作用Linux系统参数配置文件句柄Linux中,每个进程默认打开的最大文件句柄数是1000,对于服务器进程来说,显然太小,通过修改/etc/security/limits.conf来增大打开最大句柄数* - nofile 65535虚拟内存设置max_map_count定义了进程能拥有的最多内...

2020-07-28 17:15:28 603

原创 ElasticSearch优化系列四:ES的heap是如何被瓜分掉的

以下分别解读几个我知道的内存消耗大户:Segment MemorySegment不是file吗?segment memory又是什么?前面提到过,一个segment是一个完备的lucene倒排索引,而倒排索引是通过词典(Term Dictionary)到文档列表(Postings List)的映射关系,快速做查询的。由于词典的size会很大,全部装载到heap里不现实,因此Lucene为词典做了一层前缀索引(Term Index),这个索引在Lucene4.0以后采用的数据结构是FST (Fin...

2020-07-27 16:39:39 519

原创 ElasticSearch中的field data(正排索引)

glrh123 2016-07-29 11:07:01 3137 已收藏 1分类专栏: ElasticSearch版权主要参考文章:http://www.tuicool.com/articles/B3QnQzE正排索引与倒排索引Elasticsearch使用一种叫做倒排索引(inverted index)的结构来做快速的全文搜索。倒排索引由在文档中出现的唯一的单词列表,以及对于每个单词在文档中的位置组成。倒排索引的结构如下图,它存储的内容是“哪些词语出现在了哪些文档中”,这种结构决定了...

2020-07-27 16:00:38 1159

原创 Elasticsearch-6.x 倒排索引,doc_values,Fielddata, store研究

一.倒排索引倒排索引的概念,感兴趣的可以点击查看<<ES权威指南中关于倒排索引的解释>>也可以查看elasticsearch简介和倒排序索引介绍这篇文章,写的很清晰。1.1 字段和倒排索引的关系首先,在es中,我们可以把一个doc(文档)理解为数据库中的一行数据,每个doc对应多个field(字段),例如:PUT /employee/group/1{ "age" : 25, "about" : "I love to go rock clim...

2020-07-27 15:26:08 465

原创  Flink  内存

Flinkmap:做一些清洗转换;flatMap:输入一个元素,返回一个或者多个元素;filter:符合条件的数据留下;keyBy:key相同的数据进入同一个分区;reduce:当前元素与上一次reduce返回值进行聚合操作;Union:合并多个流,但是所有的流类型必须一致;Connect:合并两个流,两个流的类型可以不同;CoMap、CoFlatMap:对于ConnectedStream使用这俩函数,对两个流进行不同的处理;split:根据规则吧一个数据流切分为多个..

2020-07-27 11:38:56 1747 1

原创 Flink 容错机制与状态

简介Apache Flink提供了一种容错机制,可以持续恢复数据流应用程序的状态。 该机制确保即使出现故障,经过恢复,程序的状态也会回到以前的状态。 Flink 主持 at least once 语义 和 exactly once 语义 Flink 通过定期地做 checkpoint 来实现容错 和 恢复, 容错机制不断地生成数据流的快照, 而不会对性能产生太大的影响。 流应用程序的状态存储在一个可配置的地方(例如主节点或HDFS) 如果出现车程序故障(由于机器、网络或软件故障), Fl...

2020-07-27 11:17:05 277 1

原创 Elasticsearch内存那些事儿

Elasticsearch 内存分配设置详解。前言「该给 ES 分配多少内存?」「为什么是给 ES 分配服务器的一半内存?」「为什么内存使用率不断升高,没有释放?」「为何经常有某个 field 的数据量超出内存限制的异常?」「为何感觉上没多少数据,也会经常 Out Of Memory?」相信每个ES使用者或者运维人员都遇到过这些问题,也踩过不少坑。这里根据我个人的学习和日常工作的使用心得,谈一谈 Elasticsearch 的内存那些事儿。一、Elasticsearch...

2020-07-23 15:01:34 1167

原创 关于 Elasticsearch 内存占用及分配

Elasticsearch 和 Lucene 对内存使用情况:Elasticsearch 限制的内存大小是 JAVA 堆空间的大小,不包括Lucene 缓存倒排索引数据空间。Lucene 中的 倒排索引 segments 存储在文件中,为提高访问速度,都会把它加载到内存中,从而提高 Lucene 性能。所以建议至少留系统一半内存给Lucene。 Node Query Cache(负责缓存f ilter 查询结果),每个节点有一个,被所有 shard 共享,filter quer...

2020-07-23 15:00:04 2559

原创 重新discovery coordinator,然后JoinGroup + SyncGroup

在前面我们讲过,KafkaProducer是线程安全的,同时其内部还有一个Sender,开了一个后台线程,不断从队列中取消息进行发送。而consumer,是一个纯粹的单线程程序,后面所讲的所有机制,包括coordinator,rebalance, heartbeat等,都是在这个单线程的poll函数里面完成的。也因此,在consumer的代码内部,没有锁的出现。//客户端线程while (true) { ConsumerRecords<String, String> ...

2020-07-17 13:58:48 1903

原创 Protobuf 通信协议实战

简介 从第一次接触Protobuf到实际使用已经有半年多,刚开始可能被它的名字所唬住,其实就它是一种轻便高效的数据格式,平台无关、语言无关、可扩展,可用于通讯协议和数据存储等领域。优点平台无关,语言无关,可扩展; 提供了友好的动态库,使用简单; 解析速度快,比对应的XML快约20-100倍; 序列化数据非常简洁、紧凑,与XML相比,其序列化之后的数据量约为1/3到1/10。使用详解1、服务器安装安装依赖的库: autoconf automake li...

2020-07-17 09:24:23 709

原创 HTTP请求协议头部字段-Connection=keepalive

关于一个 TCP 连接可以对应几个 HTTP 请求:链接:https://zhuanlan.zhihu.com/p/61423830https://zhuanlan.zhihu.com/p/90765146在HTTP1.0官方协议中并没有对keepalive的明确支持,所有的HTTP请求是如下流程:1.client 发起一个请求;2.server收到请求后,回复一个响应;3.连接关闭。如果要在HTTP1.0中支持keep alive,你必须明确的在header中加入Co...

2020-07-16 17:49:21 3798

原创 ubuntu中解决进程的time_wait和FIN_WAIT2状态

TIMEWAIT状态本身和应用层的客户端或者服务器是没有关系的。如果你的程序设计为服务器主动关闭,那么你才有可能需要关注这个TIMEWAIT状态过多的问题。如果你的服务器设计为被动关闭,那么你首先要关注的是CLOSE_WAIT。1大量TIMEWAIT出现在业务上在高并发短连接的TCP服务器上,当服务器处理完请求后立刻按照主动正常关闭连接。。。这个场景下,会出现大量socket处于TIMEWAIT状态。如果客户端的并发量持续很高,此时部分客户端就会显示连接不上。1业务上两个方面需要注意...

2020-07-16 16:24:52 1645

原创 Protobuf与JSON互相转换

Javahttp://code.google.com/p/protobuf-java-format/maven配置 <dependency> <groupId>com.googlecode.protobuf-java-format</groupId> <artifactId>protobuf-java-format</artifactId> <version>1.2</v..

2020-07-16 16:17:43 1736

原创 Flink 数据传输及反压详解

IntermediateDatasetIntermediateDataset是在JobGraph中对中间结果的抽象。我们知道,JobGraph是对StreamGraph进一步进行优化后得到的逻辑图,它尽量把可以 chain 到一起 operator 合并为一个JobVertex,而IntermediateDataset就表示一个JobVertex的输出结果。JobVertex的输入是JobEdge,而JobEdge可以看作是IntermediateDat...

2020-07-13 10:12:28 1432

原创 dirty_ratio与dirty_background_ratio参数区别--系统优化必选

vm.dirty_background_ratio:这个参数指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如5%)就会触发pdflush/flush/kdmflush等后台回写进程运行,将一定缓存的脏页异步地刷入磁盘;vm.dirty_ratio:而这个参数则指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如10%),系统不得不开始处理缓存脏页(因为此时脏页数量已经比较多,为了避免数据丢失需要将一定脏页刷入磁盘);在此过程中很多应用进程可能会因为系统转而处理文件IO而...

2020-07-13 10:00:35 733

原创 kafka速度快的原因

我们都知道Kafka非常快,比绝大多数的市场上其他消息中间件都要快。这里来研究下那么为什么Kafka那么快(当然不会是因为它用了Scala)。Kafka的消息是保存或缓存在磁盘上的,一般认为在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间。但是实际上,Kafka其中一个特性却是高吞吐率,即使是普通的服务器,Kafka也能轻松支持每秒百万级的写入请求,超过了大部分的消息中间件。这种特性使得Kafka在日志处理等海量数据场景中应用广泛。那么为什么Kafka速度那么快,可以从数据写入和数据读取...

2020-07-09 16:10:51 794

原创 es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?底层的 lucene 介绍一下呗?倒排索引了解吗?

面试题es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?底层的 lucene 介绍一下呗?倒排索引了解吗?面试官心理分析问这个,其实面试官就是要看看你了解不了解 es 的一些基本原理,因为用 es 无非就是写入数据,搜索数据。你要是不明白你发起一个写入和搜索请求的时候,es 在干什么,那你真的是......对 es 基本就是个黑盒,你还能干啥?你唯一能干的就是用 es 的 api 读写数据了。要是出点什么问题,你啥都不知道,那还能指望你什么呢?面试题剖析...

2020-07-07 15:36:44 195

原创 Docker 部署 Elasticsearch - 权限认证

Elasticsearch 认证插件选择这里选择一个免费的:社区插件 Readonly REST下载地址:https://readonlyrest.com/download/1、进入网站后 选择插件类型、elastic版本、邮箱地址2、提交后下载地址会发送到你的邮箱编辑Dockerfile我这里安装的 elastic:6.8.0FROM elasticsearch:6.8.0COPY readonlyrest-1.18.0_es6.8.0.zip /plugins...

2020-07-06 13:46:56 837

原创 一文掌握并应用Elasticsearch中的GC实现垃圾日志处理

如果你关注过 Elasticsearch 的日志,可能会看到如下类似的内容:[2018-06-30T17:57:23,848][WARN ][o.e.m.j.JvmGcMonitorService] [qoo--eS] [gc][228384] overhead, spent [2.2s] collecting in the last [2.3s][2018-06-30T17:57:29,020][INFO ][o.e.m.j.JvmGcMonitorService] [qoo--eS] [gc][

2020-07-06 11:37:55 1455 2

原创 elasticsearch调优

1、elasticsearch了解多少,说说你们公司es的集群架构,索引数据大小,分片有多少,以及一些调优手段 。面试官:想了解应聘者之前公司接触的ES使用场景、规模,有没有做过比较大规模的索引设计、规划、调优。解答:如实结合自己的实践场景回答即可。比如:ES集群架构13个节点,索引根据通道不同共20+索引,根据日期,每日递增20+,索引:10分片,每日递增1亿+数据,每个通道每天索引大小控制:150GB之内。仅索引层面调优手段:1.1、设计阶段调优1)根据业务增量需求,采取基于日期模

2020-07-06 11:21:05 610

转载 Elasticsearch集群模式知多少

01序言Elasticsearch经过多年发展,集群模式已经非常成熟,涵盖的技术点非常多,对于使用者来说,掌握并熟练运用至关重要。那么Elasticsearch有多少种集群模式呢?当前适合哪种集群模式?本文不涉及实战操作,仅限集群原理范围探讨,基于当前最新版本7.6.X。02集群模式Elasticsearch节点设计支持多种角色,这个是实现集群最重要的前提,节点角色各司其职,也可以任意组合,职责重合。ES节点角色类型节点角色说明:Master,集群管理Voting,投票选举节点Dat

2020-07-06 10:14:57 436

原创 elasticsearch实现冷热数据分离

目录(?)[-]es架构 各节点的es配置 如何实现某索引数据写到指定的node根据节点tag即可 如何实现数据从hot节点迁移到老的cold节点 cold节点数据保留1个月 优化点 logstash测试 关于es的index template本文以最新的elasticsearch-6.3.0.tar.gz为例,为了节约资源,本文将副本调为0, 无client角色https://www.elastic.co/blog/hot-warm-architecture-in-el...

2020-07-06 09:56:37 2874

原创 度量单位

先明白一下几个网络速度量词单位之间的关系:1 Byte = 8 bits1 Kb = 1024 bits1 KB = 1024 bytes1 Mb = 1024 Kb1 MB = 1024 KB1.Mbps是带宽单位,在“Mbps”单位中的“b”是指“Bit(位)”。带宽是按位来描述的。2.MB/s为速度单位,在“MB/s”中的“B”是指“Byte(字节)”。因为数据是按字节传输的。3.所谓 1M 宽带,其实是指 1Mbps (兆比特每秒),亦即 1 x 1024 / 8 = 128KB/s

2020-07-02 07:10:10 250

原创 Linux使用sar进行性能分析

sar简介sar命令常用格式sar常用性能数据分析整体CPU使用统计(-u)各个CPU使用统计(-P)内存使用情况统计(-r)整体I/O情况(-b)各个I/O设备情况(-d)网络统计(-n)sar日志保存(-o)References:sar简介sar(System Activity Reporter, 系统活动情况报告): 是用于监控Linux系统各个性能的优秀工具,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。s.

2020-07-01 17:03:11 270

原创 ElasticSearch CPU和内存占用高的优化记录出现GC

公司最近使用ElasticSearch作为数据报表汇总引擎.上线三个月累计数据800万,但是今天突然大面积出现查询超时,上服务器查看服务运行情况,发现cpu使用率高达300% mem 使用率也到了90%,下面记录了整个排查问题的过程 1.首先查看elastic cpu和mem占用情况 //首先查看所有进程# top//找到对应的elasticserch运行的PID,查看占用内存比较高的线程,Ctrl+c 退出#top -Hp 123...

2020-07-01 13:07:37 6465

原创 ElasticSearch6.3.2 中的JVM性能调优

前一段时间被人问了个问题:在使用ES的过程中有没有做过什么JVM调优措施?在我搭建ES集群过程中,参照important-settings官方文档来的,并没有对JVM参数做过多的调整。但谈到JVM配置参数,少不了操作系统层面上的一些配置参数,比如 page cache 和文件描述符的个数:(/etc/security/limits.conf)。另外ES jvm.options配置文件也针对JVM参数做了一些优化,这里简要介绍一下ElasticSearch中与jvm相关的各个配置参数: 将 X...

2020-07-01 13:02:25 561

原创 elasticsearch jvm优化

测试环境elasticsearch jvm 4G jdk1.8[serveradm@test-log-server elasticsearch]$ java -versionjava version "1.8.0_212"Java(TM) SE Runtime Environment (build 1.8.0_212-b10)Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)[serveradm@test-lo...

2020-07-01 12:47:07 912 1

原创 Java内存区域(运行时数据区域)和内存模型(JMM)

Java 内存区域和内存模型是不一样的东西,内存区域是指 Jvm 运行时将数据分区域存储,强调对内存空间的划分。而内存模型(Java Memory Model,简称 JMM )是定义了线程和主内存之间的抽象关系,即 JMM 定义了 JVM 在计算机内存(RAM)中的工作方式,如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java运行时数据区域众所周知,Java 虚拟机有自动内存管理机制,如果出现内存泄漏和溢出方面的问题,排查错误就必须要了解虚拟机是怎样使用内存的。...

2020-07-01 10:22:48 2044 1

原创 Java内存管理-初始JVM和JVM启动流程(二)

上一篇分享了什么是程序,以及Java程序运行的三个阶段。也顺便提到了Java中比较重要的一个东西就是JVM(JAVA 虚拟机),那么今天在先了解一下JVM和JVM的启动流程。知识地图:1、什么是虚拟机虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。【百度百科】虚拟机通过仿真引擎(称为管理程序)处理虚拟硬件,包括CPU、内存、硬盘驱动器、网络接口和其他设备。虚拟机管理程序提供的虚拟硬件设备映射到物理机器上...

2020-07-01 10:15:36 263

原创 Java内存管理-JVM内存模型以及JDK7和JDK8内存模型对比总结(三)

Java内存管理-JVM内存模型以及JDK7和JDK8内存模型对比总结(三)上一篇分享了JVM及其启动流程,今天介绍一下JVM内部的一些区域,以及具体的区域在运行过程中会发生哪些异内存常! 其实也就对应了内存管理的第一篇中 JVM的第三个阶段,程序运行内存溢出。知识地图:一、概述Java的内存管理采用[自动内存管理]机制,因为这个自动管理机制,Java程序员就不需要去写释放内存的代码,而且不容易出现内存泄漏问题(比C/C++程序员少一些烦恼)。但是由于内存的申请和释放都交给了Jav.

2020-07-01 10:13:28 760

原创 频繁GC (Allocation Failure)及young gc时间过长分析 

序本文主要分析一个频繁GC (Allocation Failure)及young gc时间过长的case。症状gc throughput percent逐步下降,从一般的99.96%逐步下降,跌破99%,进入98%,最低点能到94% young gc time逐步增加,从一般的十几毫秒逐步上升,突破50,再突破100,150,200,250 在8.5天的时间内,发生了9000多次gc,其中full gc为4次,平均将近8秒,大部分是young gc(allocation f...

2020-07-01 09:51:51 8639 1

jfianl整合activemq

jfianl整合activemq

2018-09-06

现在最流行的一套监控系统(搭建监控指标系统)

现在最流行的一套监控系统

2018-09-02

Phoenix简介及安装部署使用

PhoenixUtilTest PhoenixUti createTable update selectAll Join delete

2018-08-30

cas +shiro集成

cas +shiro集成cas +shiro集成cas +shiro集成cas +shiro集成cas +shiro集成cas +shiro集成cas +shiro集成

2018-08-01

cas客户端集成单点登录代码3

cas客户端集成单点登录代码登录登出cas客户端集成单点登录代码登录登出cas客户端集成单点登录代码登录登出cas客户端集成单点登录代码登录登出cas客户端集成单点登录代码登录登出

2018-07-31

emqtt+haproxy

emqtt+haproxy高可用高负载可容错,完整配置调优文件。

2018-07-31

cas客户端集成单点登录代码

cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码

2018-07-31

jEasyUI1.3.6API中文版

jEasyUI1.3.6API中文版,离线可以使用

2016-11-30

空空如也

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

TA关注的人

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