自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1724)
  • 资源 (8)
  • 论坛 (1)
  • 收藏
  • 关注

原创 redis使用rdb恢复数据

redis中存在rdb备份和aof备份两种方式。如果在redis多个节点发生雪崩时,我们往往使用定期冷备rdb或者aof文件,去恢复数据的方式,但往往数据量较大时rdb恢复更加的快速,毕竟aof保存的为操作指令的日志!*而且在redis启动时 我们往往采用“双开”的持久化方式,所以问题来了!!!在aof和rdb同时开启时,仅仅使用rdb方式恢复时不起作用的,因为redis会优先使用aof恢复,但由于aof不存在则会创建一个新的aof文件,导致恢复的是空的aof指令。所以话不多说直接上方案!...

2020-12-01 20:15:53 10

原创 Redis Save 与 BGSAVE 的区别

一,save保存数据到磁盘的方式:Redis Save 命令执行一个同步保存操作,将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘。语法redis Save 命令基本语法如下:redis 127.0.0.1:6379> SAVE返回值保存成功时返回 OK 。二,BGSAVE保存数据到磁盘的方式:BGSAVE 命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续...

2020-12-01 15:07:32 5

原创 Redis基础用法、高级特性与性能调优以及缓存穿透等分析

目录一、Redis介绍 二、Redis数据结构及常用的命令 三、Redis持久化策略选择 四、内存管理与数据淘汰机制 五、Redis过期策略及实现原理 1 说明 2 设置过期时间 3 三种过期策略 4 Redis采用的过期策略 六 Redis事务实现 七 Redis分布式锁实现 八 缓存穿透、缓存击穿、缓存雪崩、热点数据失效 1、缓存穿透 2、缓存击穿 3、缓存雪崩 4、解决热点数据集中失效问题 九 Redis如何快速删除1...

2020-12-01 14:58:33 15

原创 SparkSQL 中group by、grouping sets、rollup和cube方法详解

在平时的工作中,经常有按照不同维度筛选和统计数据的需求。拿视频会员订单数据来说吧,运营人员要查看深圳市的成功下单数或则深圳市某一种产品的成功下单数或者某一种产品的所有成功下单数时,每天的订单数又很大,现查的话按照不同的维度去查询又很慢。此时本篇文章或许会帮助到你。group by:主要用来对查询的结果进行分组,相同组合的分组条件在结果集中只显示一行记录。可以添加聚合函数。grouping sets:对分组集中指定的组表达式的每个子集执行group by,grou...

2020-11-20 19:31:26 13

原创 java中protected权限与默认权限的区别

在java中最容易混淆的访问权限就是protected和default先看看所有的访问权限总结下面三条:1、在同一个包中,所有的类都能够访问某一个类中所有非private权限的方法或者属性。2、一个包中的类不能通过继承访问另一个包中default权限的方法或者属性。换言之,子类在同一个包中可以访问default权限的方法或属性,子类不在同一个包中则不可以。3、在不同包中子类是不能通过父类的实例访问protected权限的方法或者变量的。...

2020-11-17 13:36:33 12

原创 window下Sparksql 无法获取文件权限问题

Caused by: java.lang.RuntimeException: Error while running command to get file permissions : java.io.IOException: (null) entry in command string: null ls -F D:\tmp\hiveCaused by: java.lang.RuntimeException: Error while running command to get file ...

2020-11-16 13:19:00 21

原创 kafka中处理超大消息的一些考虑

Kafka设计的初衷是迅速处理短小的消息,一般10K大小的消息吞吐性能最好(可参见LinkedIn的kafka性能测试)。但有时候,我们需要处理更大的消息,比如XML文档或JSON内容,一个消息差不多有10-100M,这种情况下,Kakfa应该如何处理?针对这个问题,有以下几个建议: 最好的方法是不直接传送这些大的数据。如果有共享存储,如NAS, HDFS, S3等,可以把这些大的文件存放到共享存储,然后使用Kafka来传送文件的位置信息。 第二个方法是,将大的消息数据切片或切块,在生产...

2020-11-09 10:08:31 29

原创 Kafka的Topic配置详解

一、Kafka中topic级别配置配置topic级别参数时,相同(参数)属性topic级别会覆盖全局的,否则默认为全局配置属性值。创建topic参数可以设置一个或多个--config "Property(属性)",下面是创建一个topic名称为"my-topic"例子,它设置了2个参数max message size 和 flush rate.(A)创建topic时配置参数bin/kafka-topics.sh --zookeeper 192.168.2.225:2183/c...

2020-11-06 10:08:40 57

原创 Git 常用操作指南全部内容

发表于 2019-07-21|更新于 2020-08-03|Git字数总计:13.2k|阅读时长: 48 分钟|阅读量:3254|评论数:1https://www.guoyaohua.com/Git-tutorial.html#git简介

2020-11-05 14:03:58 8

原创 idea中git分支的使用

工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下:假设小组中有两个人,组长小张,组员小袁场景一:小张创建项目并提交到远程Git仓库场景二:小袁从远程Git仓库上获取项目源码场景三:小袁修改了部分源码,提交到远程仓库场景四:小张从远程仓库获取小袁的提交场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发场景六:小袁把分支提交到远程Git仓库场景七:小张获取小袁提交的分支场景八:小张把分支合并到主干下面来看以上各场景在IDEA中对应...

2020-11-04 16:54:12 11

原创 kafka性能测试

一.硬件配置3台服务器配置如下:CPU:2物理CPU,12核/CPU , 48 processor Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz内存:128GB硬盘:480GB*1 SSD盘(OS)+6TB*7 SAS盘Broker节点数:3个网络:10GE二.测试方案2.1 测试套件使用kafka官方提供的性能测试工具 kafka-perf-test1)producer命令 ./kafka-produ...

2020-11-03 08:57:40 58

原创 记一次 Kafka Producer 性能调优实战

记一次 Kafka Producer 性能调优实战https://objcoding.com/2020/09/18/kafka-producer-performance-optimization/最近,遇到某个集群的生产端发送延迟特别高,而且吞吐量上不去,检查集群负载却很低,且集群机器配置非常好,网络带宽也很大,于是使用 Kafka 压测脚本进行了压测。昨天凌晨,在生产环境进行实战调优,经过不断参数改动,现将生产者相关参数设置为以下配置:linger.ms=50batch.size=52

2020-11-02 09:41:34 36

原创 Kafka Consumer如何实现精确一次消费数据

文章目录简介 kafka消费机制 消费时出现几种异常情况 自动提交 手动提交 精确一次消费实现 总结 简介在使用kafka时,大多数场景对于数据少量的不一致(重复或者丢失)并不关注,比如日志,因为不会影响最终的使用或者分析,但是在某些应用场景(比如业务数据),需要对任何一条消息都要做到精确一次的消费,才能保证系统的正确性,kafka并不提供准确一致的消费API,需要我们在实际使用时借用外部的一些手段来保证消费的精确性,下面我们介绍如何实现...

2020-10-28 16:34:36 72

原创 kafka怎么保证数据消费一次且仅消费一次?

1.众所周知,kafka0.11.0.0版本正式支持精确一次处理语义(exactly onece semantic–EOS),Kafka的EOS主要体现在3个方面:1)幂等producer保证单个分区的只会发送一次,不会出现重复消息2)事务(transation):保证原子性的写入多个分区,即写入到多个分区的消息要么全部成功,要么全部回滚3)流式EOS:流处理本质上可看成是“”读取-处理-写入的管道“”。此EOS保证整个过程的操作是原子性。注意,只使用kafka Streams上面3中EOS...

2020-10-28 16:21:13 62

原创 Kafka之精确一次处理语义

文章目录精确一次处理语义 幂等性实现原理精确一次处理语义 消息处理语义 最多一次(at most once):消息可能丢失也可能被处理,但最多只会处理一次 至少一次(at least once):消息不会丢失,但可能被处理多次 精确一次(exactly once):消息被处理且只会被处理一次 producer: 在0.11.0.0之前,kafka producer默认提供至少一次(at least once)语义(重试机制) kafka在0.11...

2020-10-28 16:00:09 17

原创 Flink基于Kafka-Connector 数据流容错回放机制

Flink基于Kafka-Connector 数据流容错回放机制及代码案例实战-Flink牛刀小试Flink牛刀小试系列目录Flink牛刀小试-Flink 集群运行原理兼部署及Yarn运行模式深入剖析 Flink牛刀小试-Flink Window类型及使用原理案例实战 Flink牛刀小试-Flink Broadcast 与 Accumulators 应用案例实战 Flink牛刀小试-Flink与SparkStreaming之Counters& Accumulators 累加器双向应用案

2020-10-28 15:56:08 18

原创 hive 数据倾斜、优化策略、hive执行过程、垃圾回收

文章目录1. 数据倾斜 1.1 什么是数据倾斜? 1.2 容易数据倾斜情况 1.3 产生数据倾斜的原因 1.4 不会产生数据倾斜的情况 1.5 业务场景 1.5.1 空值产生的数据倾斜 1.5.2 不同数据类型关联产生数据倾斜 1.5.1 大小表关联查询产生数据倾斜 2. hive执行过程实例分析 2.1 Hive 操作符列表 2.2 Hive 编译器的工作职责 2.3 优化器类型 2.4 hive查看执行过程...

2020-10-28 10:46:09 124

原创 hive数据倾斜优化策略

hive数据倾斜优化策略Hive数据倾斜Group By 中的计算均衡优化1.Map端部分聚合先看看下面这条SQL,由于用户的性别只有男和女两个值 (未知)。如果没有map端的部分聚合优化,map直接把groupby_key 当作reduce_key发送给reduce做聚合,就会导致计算不均衡的现象。虽然map有100万个,但是reduce只有两个在做聚合,每个reduce处理100亿条记录。 selectuser.gender,count(1) f...

2020-10-28 10:43:00 18

原创 Flink状态管理和容错机制介绍

Flink状态管理和容错机制介绍本文主要内容如下:有状态的流数据处理; Flink中的状态接口; 状态管理和容错机制实现; 阿里相关工作介绍;一.有状态的流数据处理#1.1.什么是有状态的计算#计算任务的结果不仅仅依赖于输入,还依赖于它的当前状态,其实大多数的计算都是有状态的计算。 比如wordcount,给一些word,其计算它的count,这是一个很常见的业务场景。count做为输出,在计算的过程中要不断的把输入累加到count上去,那么count就是一个state。1.2.

2020-10-28 09:54:56 15

原创 arthas现实了不停机、不发包替换了生产环境的Java代码

arthas现实了不停机、不发包替换了生产环境的Java代码线上代码热更新(动态修改上线项目代码)手动在代码中抛异常,不停机不重新发包的情况下,修改线上代码启动服务也达到我们预期异常替换代码的流程:1、jad命令将需要更改的文件先进行反编译,保存下来 ,编译器修改$ jad --source--only com.example.demo.DemoApplication > /data/DemoApplication.java1修改完以后需要将类重新加载到JVM.

2020-10-27 16:08:17 34

原创 Arthas - Java 线上问题定位处理的终极利器

前言在使用Arthas之前,当遇到 Java 线上问题时,如 CPU 飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后 jps、jstack、jmap、jhat、jstat、hprof 等一通操作。最终焦头烂额,还不一定能查出问题所在。而现在,大多数的常见问题你都可以使用Arthas轻松定位,迅速解决,及时止损,准时下班。1、Arthas 介绍Arthas是Alibaba在 2018 年 9 月开源的Java 诊断工具。支持JDK6+, 采用命令行交互...

2020-10-27 15:46:31 45

原创 Kafka网络模型

Kafka网络模型摘要:很多人喜欢把RocketMQ与Kafka做对比,其实这两款消息队列的网络通信层还是比较相似的,本文就为大家简要地介绍下Kafka的NIO网络通信模型,通过对Kafka源码的分析来简述其Reactor的多线程网络通信模型和总体框架结构,同时简要介绍Kafka网络通信层的设计与具体实现。一、Kafka网络通信模型的整体框架概述Kafka的网络通信模型是基于NIO的Reactor多线程模型来设计的。这里先引用Kafka源码中注释的一段话:相信大家看了上面的这段引文注释后

2020-10-27 10:25:35 23 1

原创 mvn package、mvn install、deploy 区别

我们在用maven构建java项目时,最常用的打包命令有mvn package、mvn install、deploy,这三个命令都可完成打jar包或war(当然也可以是其它形式的包)的功能,但这三个命令还是有区别的。下面通过分别执行这三个命令的输出结果,来分析各自所执行的maven的生命周期。mvn clean packagemvn clean installmvn clean deploy(忽略最后的BUILD FAILURE)通过三个命令的输出我们可以看出三者的区别在于.

2020-10-14 17:42:21 26

原创 HDFS体系架构

体系架构NameNode HDFS主节点、管理员 接收客户端(命令行、Java程序)的请求:创建目录、上传、下载、删除数据 管理和维护HDFS的日志和元信息 日志文件(edits文件) 二进制文件,记录客户端所有操作,同时体现HDFS的最新状态 $HADOOP_HOME/tmp/dfs/name/current 日志查看器(edits viewer):把edits转成文本(XML)格式 hdfs oev -i edits_inprogress_00000...

2020-10-14 09:29:25 20

原创 Elasticasearch Web管理工具-Cerebro

Elasticasearch Web管理工具-Cerebrocerebro是一个使用Scala,Play Framework,AngularJS和Bootstrap构建的开源(MIT许可)elasticsearch web管理工具。需要Java 1.8或更高版本才能运行。1、安装JAVA环境tar -xzvf jdk-8u121-linux-x64.tar.gz -C /data配置环境/etc/profile文件中添加export JAVA_HOME=/data/jdk1.8.

2020-10-13 17:46:23 39

原创 Elasticsearch的快照备份 使用脚本进行快照

Elasticsearch的快照备份该文档适用于备份使用NAS的仓库类型。所有Elasticsearch集群中的服务通过挂载NAS目录来存放备份快照数据。1、创建备份仓库创建一个仓库名称:backupcurl -H "Content-Type: application/json" -XPUT http://10.10.18.10:9200/_snapshot/backup -d '{"type":"fs","settings":{"location":"/data/bak_es/

2020-10-13 17:42:19 34

原创 Heartbeat超时值

heartbeat超时值定义了RabbitMQ及其client库在多久之后认为TCP连接不可到达。这个值是在client连接RabbitMQ服务器的时候协商好的,在RabbitMQ 3.0及以上版本,broker缺省就会自动尝试进行heartbeat协商,而对于低版本则必须由client在连接时显示地请求协商。该值单位为秒,缺省是60秒。每隔timeout / 2秒发送一个Heartbeat消息帧,这个值有时被称作heartbeat interval,如果连续丢失两个heartbeats消息帧,就认...

2020-10-09 16:33:21 71

原创 Linux日志中如何查找关键字及其前后的信息

在日常工作中,我们经常需要查看日志,比如可以通过tail命令实时查看日志,也可以通过cat等命令查看日志信息。但现在我们要讨论的是,如何从日志中通过关键字过滤出我们想要的内容,方法有多种,今天我们主要以cat命令来进行学习。假设存在日志文件hrun.log,查询的关键字为"新增用户":根据关键字查看日志点我复制cat hrun.log | grep "新增用户"根据关键字查看后10行日志点我复制cat hrun.log | grep "新增用户" -A 10...

2020-10-09 15:51:35 81

原创 syschronized和lock的区别2

三、synchronized解释synchronized可以保证可见性、原子性。内存可见性:一个线程在释放syschronized锁之前,会将线程内存中的共享变量写回到主内存一个线程在获取syschronized锁之后,会清空线程内部涉及到的共享变量,再从主内存读取synchronized是可重入锁,为什么要有可重入锁,可重入锁的作用:syschronized对同一个线程是可重入的,可重入的好处就是不会出现自己把自己锁死的情况,所以可重入锁的意义在于防止死锁。四、syschronized和lo

2020-09-29 10:43:13 31

原创 Synchronized和lock区别

1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候 线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定, 如果使用 synchronized ,如果A不释放,B将一直等下去,不能被中断 如果 使用ReentrantLock,如果A不释放,可以使B在等待了足够长的时间以后,中断等待,而干别的事情 ReentrantLock获取锁定与三种方式: a) lo.

2020-09-29 10:40:36 21

原创 Redis中删除过期Key的三种策略

项目中有个接口要频繁调用查询数据库中的数据,为了降低数据库的压力,所以把一部分记录先缓存在redis中,对redis中的数据设置了期限。今天无意间发现一个问题,使用dbsize查询出来的数量,比实际缓存量要高一部分。用redis-cli keys '*'|wc -l1获取到的数据和实际情况是一样的。如下面两图:对比发现,redis中key的总量为286957,比数据库中的264032高出了20000多个!为什么会这样呢?查找程序原因,并没有发现逻辑问题。查找redis相关资料,发现原来是red

2020-09-28 08:54:36 38

原创 redis过期数据备份

aof是以记录命令方式bai,所以如果还没过期du,那么不会有变更zhi的命令,如果过期,会在aof日志插入一条daodel命令。rdb的话是内存快照方式,如果持久化时,key已经过期,那么不会持久化,如果在过期之前就已经持久化了,那么在恢复数据时,会判断key是否过期,如果过期不会导入。...

2020-09-28 08:51:48 17

原创 Centos7 搭建Cerebro Elasticsearch监控

简介Cerebro是一款Elasticsearch监控工具项目Github主页overview.pngnodes.pngrest.png创建用户useradd -s /sbin/nologin cerebro解压安装文件mkdir /opt/cerebro;\tar xf /tmp/cerebro-0.8.1.tgz -C /opt/cerebro;\ln -s /opt/cerebro/cerebro-0.8.1 /opt/ce...

2020-09-23 19:10:33 43

原创 es数据备份与恢复

数据备份 描述: es引入仓库与快照的概念实现了数据的备份与恢复,在elasticsearch.yml中指定仓库的base目录,创建仓库,将快照创建在指定的仓房中即可实现索引的备份。 解决的问题: 备份指定的索引 备份全部索引 答疑 快照的过程可以后台进行 快照时会将保存该索引的全部数据 同一仓库下的同一快照只能执行一次。 本次快照会基于上次仓库之前的快照进行增量保存。 快照保存的内容:①索引数据②集群全局状态③。。。留待探索 同一时刻只允许一个快照...

2020-09-22 16:46:37 51

原创 滚动重启es

滚动重启总有一天你会需要做一次集群的滚动重启——保持集群在线和可操作,但是逐一把节点下线。常见的原因:Elasticsearch 版本升级,或者服务器自身的一些维护操作(比如操作系统升级或者硬件相关)。不管哪种情况,都要有一种特别的方法来完成一次滚动重启。正常情况下,Elasticsearch 希望你的数据被完全的复制和均衡的分布。如果你手动关闭了一个节点,集群会立刻发现节点的丢失并开始再平衡。如果节点的维护是短期工作的话,这一点就很烦人了,因为大型分片的再平衡需要花费相当的时间(想想尝试复制

2020-09-21 18:12:45 29

原创 如何备份ElasticSearch索引数据到HDFS上

在ElasticSearch里面备份策略已经比较成熟了目前在ES5.x中备份支持的存储方式有如下几种: fs //本地挂载的盘 url //网络协议存储支持http,https,ftp repository-s3 //亚马逊 repository-hdfs //HDFS repository-azure //微软 repository-gcs //google 在这里我们主要介绍如何备份索引数据到HDFS上。首先,我们先从名...

2020-09-18 19:35:59 36

原创 ElasticSearch入门 第二篇:集群配置ES2.4

这是ElasticSearch 2.4 版本系列的第二篇:ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 ElasticSearch入门 第三篇:索引 ElasticSearch入门 第四篇:使用C#添加和更新文档 ElasticSearch入门 第五篇:使用C#查询文档 ElasticSearch入门 第六篇:复合数据类型——数组,对象和嵌套 ElasticSearch入门 第七篇:分析器...

2020-09-14 17:20:29 32

转载 discovery.zen.minimum_master_nodes深度解析

discovery.zen.minimum_master_nodes对集群的稳定性至关重要,防止脑裂的出现。脑裂:如果网络的故障导致一个集群被划分成两片,每片都有多个node,以及一个master。因为master是维护集群状态,以及shard的分配。如果出现了两个master,可能导致数据破损。discovery.zen.minimum_master_nodes的作用是只有足够的master候选节点时,才可以选举出一个master。该参数必须设置为集群中master候选节点的quo...

2020-09-14 17:10:03 48

原创 HTTPS证书验证流程及SSL证书生成步骤【附nginx开启https配置】

------------------------------------------------------------HTTPS证书验证流程(极简化版) 1.客户端向服务端请求证书(server.crt) 2.服务端下发证书(server.crt) 3.客户端用预制的受信任机构的证书(ca.crt)来验证服务端下发的证书(server.crt)是否合法,并且还会校验下发下来的证书里的域名与要请求的域名是否一致 【以下步骤开启双向验证后才会触发】 4....

2020-09-01 17:18:04 57

原创 自己搭建CA颁发证书做https加密网站

如果网站是针对内网的访问的,自己搭建CA服务器颁发证书就可以,如果是针对互联网来访问的,还是买ssl证书比较好,今天就来介绍一下自己搭建CA服务器颁发证书做加密网站。192.168.10.187 CA服务器192.168.10.190 web服务器(1)搭建CAcd /etc/pki/CA在这个目录下创建serial和index.txt两个文件echo 00 > serial (00是颁发证书最初的版本号)touch index.txt(umask 006;ope...

2020-09-01 16:04:13 111

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

王树民ITDATA的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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