自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Data & Analysis

Data & Analysis & Safety

  • 博客(46)
  • 论坛 (1)
  • 收藏
  • 关注

转载 TiDB3.0.2 Grafana 配置 SMTP(邮件传输协议)

grafana 默认读取的配置文件位置[tidb@test1 templates]$ pwd/home/tidb/tidb-ansible/roles/grafana/templates[tidb@test1 templates]$[tidb@test1 templates]$ vim grafana.ini.j2找到smtp 替换如下内容......#################################### SMTP / Emailing #############

2021-01-31 17:05:12 36 1

转载 Oracle学习笔记:parallel并行处理

  在使用oracel查询时,可以通过并行提高查询速度。例如:select /*+parallel(a,6)*/ count(1) from table_name a;  强行启用并行度来执行当前SQL。加上这个说明之后,可以强行启用Oracle的多线程处理功能,提高效率。但本身启动这个功能,也是要消耗资源与性能的。所有,一般都会在返回记录数大于100万时使用,效果也会比较明显。  语法:    /*+parallel(table_short_name, cash_number)*/ 

2021-01-29 16:56:10 55

转载 Kafka查看topic、consumer group状态命令

最近工作中遇到需要使用kafka的场景,测试消费程序启动后,要莫名的过几十秒乃至几分钟才能成功获取到到topic的partition和offset,而后开始消费数据,于是学习了一下查看kafka broker里topic和consumer group状态的相关命令,这里记录一下。命令参考自《Kafka: The Definitive Guide》 Chapter 9 Administrating Kafka以下命令中使用的zookeeper配置地址为127.0.0.1:2181,bootstrap-

2021-01-29 14:08:03 46 1

转载 获取topic当前消息数

创建测试 topic:bin/kafka-topics.sh -zookeeper localhost:2181 --create --partitions 5 --replication-factor 1 --topic test765生产测试消息:为 topic test765 生产 500000 条消息:bin/kafka-producer-perf-test.sh --topic test765 --throughput -1 --record-size 10 --num-records

2021-01-29 11:52:19 28

转载 mysql实现高可用架构之MHA

目录一、简介 二、MHA 服务 2.1 服务角色 2.2提供的工具 2.3工作原理 三、实现过程 3.1 准备实验 Mysql 的 Replication 环境 3.1.1 相关配置 3.1.2 初始主节点 master 的配置 3.1.3 所有 slave 节点依赖的配置 3.1.4 配置一主多从复制架构 3.2 安装配置MHA 3.2.1 在 master 上进行授权 3.2.2 准备 ssh 互通环境 3.2.3 安装 MHA..

2021-01-21 22:00:41 23

转载 MySQL MHA部署实战

MySQL MHA部署环境:CentOS7master 192.168.1.4slave1 192.168.1.5slave2 192.168.1.2mha 192.168.1.7安装依赖yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-CPAN安装

2021-01-20 21:58:40 33

转载 MySQL主备库切换(MHA)演练与总结

演练包括被动切换和主动切换两部分。被动切换是主库宕机,主动切换是人工手动触发。演练步骤大致如下: 1 先停掉主库,模拟主库宕机 2 mha将vip切到备库,备库变成主库,应用可以正常读写数据库 3 重新启动宕机的原主库 4 在原主库上建立同步关系(根据宕机时,日志记录的binlog的文件名和偏移量,恢复从这里开始) 5 mha手动切换主库,还原到最初状态,应用可以正常读写数据库 6 演练结束演练过程问题总结:...

2021-01-19 22:00:16 42

转载 MySQL高可用方案MHA在线切换的步骤及原理

在日常工作中,会碰到如下的场景,如mysql数据库升级,主服务器硬件升级等,这个时候就需要将写操作切换到另外一台服务器上,那么如何进行在线切换呢?同时,要求切换过程短,对业务的影响比较小。MHA就提供了这样一种优雅的方式,只会堵塞业务0.5~2s的时间,在这段时间内,业务无法读取和写入。集群信息角色 IP地址 ServerID 类型Master ...

2021-01-19 21:53:53 23

转载 RabbitMQ最核心的交换机和队列Exchange、Queue详解

引言 最近公司项目中,车辆大数据的推送和接收同步都用到了RabbitMQ消息中间件,对于其中最核心的交换机和队列Exchange、Queue的参数配置和使用,再此简单总结一下,供自己和大家一块儿学习!1.先来介绍RabbitMQ中的成员Producer(生产者): 将消息发送到Exchange Exchange(交换器):将从生产者接收到的消息路由到Queue Queue(队列):存放供消费者消费的消息 BindingKey(绑定键):建立Exchange与Queue之间的关系(个人..

2021-01-18 17:12:20 123

转载 RabbitMQ基础概念(消息、队列、交换机)

1、消息的确认  RabbitMQ需要对每一条发送的消息进行确认。消费者必须通过AMQP的basic.ack命令显式地向RabbitMQ发送一个确认,或者在订阅到队列的时候就将auto_ack参数设置为true。当auto_ack为true时,一旦消费者接收消息,RabbitMQ会自动视其确认了消息。需要注意的是消费者对消息的确认和告诉生产者消息已经被接收了这两件事毫不相关。以此,消费者通过确认命令告诉RabbitMQ它已经确认地接收到消息,同时RabbitMQ才能安全的把消息从队列中删除。  如果

2021-01-18 17:10:49 22

转载 生产环境遇到的rabbitmq队列堆积原因分析和解决方案

在8月5、6、7连续三天晚上10点出现充值相关几个消息堆积的问题,经过分析发现主要问题是充值项目对mq的使用存在一些不合理的地方,当mq负载高时会出现堆积现象。具体原因如下: 1、采用的消息模式是get模式,而不是高效的deliver模式,经过在新搭建的mq服务器测试发现,get模式:5000条/秒便会出现严重堆积, deliver模式:20000条/秒不会堆积,如果按照充值项目的写法由于存在后续的问题,每秒几百条的写入就会经常出现消息堆积; 2、消息的生产和消费共用mq链接和chann...

2021-01-18 11:49:24 34

转载 rabbitmq持久化

修改autodelete ,交换器有此属性,消息队列也有,设为true表示临时,不会持久化,设为false,服务器宕机也能保存到磁盘 @Component @RabbitListener( bindings = @QueueBinding( value = @Queue(value = "${mq.config.queue.sms}",autoDelete = "false"), exchange = @Exchange(value = "${mq.c.

2021-01-18 11:46:30 20

转载 rabbitmq持久化数据太大导宕机

解决方案:1.定时清理持久化文件2.消息消费后马上删除mq队列中的消息 @Component public class ConsumerService { private static final Logger logger = LoggerFactory.getLogger(ConsumerService.class); @RabbitListener(queues = RabbitmqConfig.QUEUE) public v...

2021-01-18 11:44:10 38

转载 logstash 和filebeat 关系

logstash 和filebeat都具有日志收集功能,filebeat更轻量,占用资源更少,但logstash 具有filter功能,能过滤分析日志。一般结构都是filebeat采集日志,然后发送到消息队列,redis,kafaka。然后logstash去获取,利用filter功能过滤分析,然后存储到elasticsearch中。1. logstash和filebeat都是可以作为日志采集的工具,目前日志采集的工具有很多种,如fluentd, flume, logstash,betas等等。甚至最后我

2021-01-18 10:56:46 41

转载 Logstash 安装配置

Logstash 简介:Logstash 是一个实时数据收集引擎,可收集各类型数据并对其进行分析,过滤和归纳。按照自己条件分析过滤出符合数据导入到可视化界面。Logstash 建议使用java1.8 有些版本是不支持的,比如java1.9。一. 下载安装jdk1.8下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html...

2021-01-18 10:50:10 23

转载 Kafka与RabbitMQ区别

基于某些原因, 许多开发者会把这两种技术当做等价的来看待。的确,在一些案例场景下选择 RabbitMQ 还是 Kafka 没什么差别,但是这两种技术在底层实现方面是有许多差异的。不同的场景需要不同的解决方案,选错一个方案能够严重的影响你对软件的设计,开发和维护的能力。第一篇文章介绍了 RabbitMQ 和 Apache Kafka内部实现的相关概念。本篇文章会从两个方面探讨这两种技术之间的差异,一个是这两种技术之间的显著差异,另一个是对于软件架构师和开发者需要注意的差异。我们先来说说架构模式,也

2021-01-17 21:47:01 92

转载 kafka工作原理

为什么需要消息队列  周末无聊刷着手机,某宝网APP突然蹦出来一条消息“为了回馈老客户,女朋友买一送一,活动仅限今天!”。买一送一还有这种好事,那我可不能错过!忍不住立马点了去。于是选了两个最新款,下单、支付一气呵成!满足的躺在床上,想着马上有女朋友了,竟然幸福的失眠了……  第二天正常上着班,突然接到快递小哥的电话:  小哥:“你是xx吗?你的女朋友到了,我现在在你楼下,你来拿一下吧!”。  我:“这……我在上班呢,可以晚上送过来吗?“。  小哥:“晚上可不行哦,晚上我也下班了呢!”。  于

2021-01-17 21:02:52 28

转载 rabbitmq持久化

持久化是为提高rabbitmq消息的可靠性,防止在异常情况(重启,关闭,宕机)下数据的丢失rabbitmq持久化分为三个部分:交换器的持久化、队列的持久化和消息的持久化交换器的持久化交换器的持久化是通过声明队列时,将durable参数设置为true实现的。如果交换器不设置持久化,那么rabbitmq服务重启之后,相关的交换器元数据将会丢失,不过消息不会丢失,只是不能将消息发送到这个交换器中了,建议将交换器设置为持久化queueDeclare(queue, durable, exclusi.

2021-01-17 20:59:08 28

转载 RabbitMQ消息持久化

目录一、前言 二、队列持久化   2.1 查看存在的队列和消息数量   2.2 持久化队列 三、消息持久化 四、总结回到顶部一、前言  如果我们希望即使在RabbitMQ服务重启的情况下,也不会丢失消息,我们可以将Queue与Message都设置为可持久化的(durable),这样可以保证绝大部分情况下我们的RabbitMQ消息不会丢失。当然还是会有一些小概率事件会导致消息丢失。回到顶部二、队列持久化  2.1 查看存在的队列和消息数量  在windo..

2021-01-17 20:57:19 35

转载 ES集群7.3.2版本在线扩容Data节点

背景接到生产业务需求,需要在线扩容ES集群且不能影响数据安全性,经过对Elasticsearch角色的分析,发现直接扩容Data节点最简单而且能满足需求。备注:原来ES集群3节点dim角色默认都开启了。原节点信息[root@188_33_centos ~]# curl 192.168.188.33:9200/_cat/nodes192.168.188.33 51 98 3 0.23 0.20 0.17 dim - es-33192.168.188.39 33 97 2 0.01 0.06

2021-01-17 20:00:18 57

转载 Elasticsearch学习之ES节点类型以及各种节点的分工

ES各种节点的分工1. 客户端节点  当主节点和数据节点配置都设置为false的时候,该节点只能处理路由请求,处理搜索,分发索引操作等,从本质上来说该客户节点表现为智能负载平衡器。独立的客户端节点在一个比较大的集群中是非常有用的,他协调主节点和数据节点,客户端节点加入集群可以得到集群的状态,根据集群的状态可以直接路由请求。2. 数据节点  数据节点主要是存储索引数据的节点,主要对文档进行增删改查操作,聚合操作等。数据节点对cpu,内存,io要求较高, 在优化的时候需要监控数据节点的状态,.

2021-01-17 19:45:55 50

转载 ZooKeeper在HBase中的应用

ZooKeeper是一个开源的分布式协调服务,由雅虎创建,是Google Chubby的开源实现。分布式应用程序可以基于ZooKeeper实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。既然ZooKeeper的作用这么大,那我们就来详细说说ZooKeeper在HBase中的应用叭!一个分布式HBase系统安装依赖于一个运行着的ZooKeeper集群,所有参与的节点和客户端必须能够正常访问运行着的ZooKeeper集群。HBa.

2021-01-17 19:05:49 23

转载 es的基本原理和操作文档

一、背景知识1、搜索的分类我们想要寻找某些信息的时候,一般会直接去百度、谷歌、搜歌、360搜索等,搜索分为垂直搜索、互联网搜索、IT系统的搜索。搜索,就是在任何场景下,找寻你想要的信息,这个时候,会输入一段你要搜索的关键字,然后就期望找到这个关键字相关的有些信息。2、如果用数据库做搜索会怎么样?做软件开发的话,或者对IT、计算机有一定的了解的话,都知道,数据都是存储在数据库里面的,比如说电商网站的商品信息,招聘网站的职位信息,新闻网站的新闻信息,等等吧。所以说,很自然的一点,如果说从技术的角

2021-01-17 18:03:34 62

转载 Elasticsearch7.X为什么移除type

Elasticsearch7.X为什么移除类型(type)在Elasticsearch7.0.0及以后版本不再接受_default_ 映射。在6.x里创建的索引依然像在Elasticsearch6.X之前一样起作用。Types在7.0的API里是被舍弃的,在创建索引,设置映射,获取映射,设置模板,获取模板,获取字段映射API有着不兼容的改变。什么是类型(type)?从Elasticsearch的第一个发布版本以来,每一个文档都被存储在一个单独的索引里,并被赋予了一个type,一个映射类型代表

2021-01-17 17:23:32 17

转载 ES(一):ES基本概念和原理简单介绍

Elasticsearch概述:ES是基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全问搜索引擎,且ES支持RestFulweb风格的url访问。ES是基于Java开发的开源搜索引擎,设计用于云计算,能够达到实时搜索,稳定、可靠、快速。此外,ES还提供了数据聚合分析功能,但在数据分析方面,es的时效性不是很理想,在企业应用中一般还是用于搜索。ES自2016年起已经超过Solr等,称为排名第一的搜索引擎应用。Elasticsearch基本概念:ES中有几个基本概念:索引(index)

2021-01-17 16:51:27 118

转载 Elasticsearch7.x—生产环境集群核心配置

一. Elasticsearch相关配置path.data 和 path.log这两个配置的目录分别用来存放索引数据和日志,它们的默认路径位于$_ES_HOME的子文件夹内。这样有很大风险,特别是在升级Elasticsearch版本时,这些数据很可能被删除,在生产环境中可参考下面的配置path: logs: /var/log/elasticsearch data: /var/data/elasticsearch另外path.data支持配置多个目录,每个目录都会用来存放数据...

2021-01-17 15:58:14 34

转载 PostgreSQL与MySQL版权比较

前言作为开源数据库的杰出代表,主要来对比PostgreSQL与MySQL的版权。版权可以理解为许可(License),直接与开源协议的描述相关,下面来看一下两者的许可表述。PostgreSQL许可PostgreSQL许可是一种自由的开源许可,与BSD或MIT许可证类似。1994年之前的部分版权属于加利福尼亚大学董事会;1996年-2020年,部分版权属于PostgreSQL全球开发小组;全球开发小组主要成员分散在世界各地,其背后不受任何公司实体控制,这使其成为一个真正的开放项目。BSD.

2021-01-14 11:38:34 44

转载 Mysql的收费方式

网络上多数朋友担心甲骨文会对MySQL软件采用收费模式,多数朋友也不清楚MySQL开源到底是什么模式,开源=免费嘛?是很多的疑问,MySQL是遵守双重协议的,一个是GPL授权协议,一个是商用授权协议(注释:为解决其他企业用MySQL软件牟利或引用了MySQL的源代码而不想开源),虽然www.mysqlops.com也有写关于MySQL版权的来龙去脉,但是这篇文章写更透彻与详尽,特转载ITPUB上的帖子,希望大家能够更加清晰!最近刚把MySQL和GPL的玩法搞明白,很是惭愧,居然花了这么久的时间才想通。不.

2021-01-14 11:24:07 134

转载 Oracle 数据泵命令全解析

Oracle数据库之间迁移数据可以采用的最有效的工具之一就是数据泵(expdp/impdp)。但是expdp和impdp只能在数据库服务端使用,不能在客户端使用。笔者结合自身经验总结了expdp和impdp常用到的命令,部分信息参考Oracle官方文档。一、directory:select * from dba_directories;create directory mydata as '/home/oracle';grant read,write on directory m

2021-01-13 09:16:02 49 1

转载 Mysql查看连接数(连接总数、活跃数、最大并发数)

1 2 show variables like'%max_connection%'; 查看最大连接数 setglobal max_connections=1000; 重新设置最大连接数 1 2 3 4 5 6 7 8 9 10 11 mysql> show status like'Threads%'; +-...

2021-01-11 11:29:53 82

转载 mysql 查哪些表建了唯一索引

select a.table_id,a.name,b.name,b.type frominformation_schema.INNODB_SYS_TABLES a left outer join information_schema.INNODB_SYS_INDEXES b on a.table_id=b.table_id and b.type in (2)where a.name like 'smart_park%'order by a.name

2021-01-10 20:35:18 56

转载 从库并行回放死锁问题分析

一、背景生产环境有一套 MySQL 集群,架构为一主两从,其中一个从库设置了延迟复制,延迟时间为 1 天。某天在巡检实例时,发现这个延迟从库延迟时间已经超过 1 天,且延迟不停的在增加,在监控上查看数据库状态是正常的,其他两台实例也没有出现问题。登录数据库show slave status查看状态发现 IO 线程和 SQL 线程的状态都是YES,但实际上 SQL 线程已经出现了报错,信息如下(部分信息已省略):Slave_IO_Running:YesSl...

2021-01-10 10:43:35 45

转载 MySQL slave相关参数

init_slave设定每次SQL thread启动时执行的语句。log_slave_updates是否将复制线程执行的内容记录到binlog。log_slow_slave_statements如果从库开启慢日志,是否将复制线程执行的慢SQL记录到慢日志。注意如果master的binlog格式是row,则无论log_slow_slave_statements是否开启都不会记录复制相关的慢日志。slave_allow_batchingNDB引擎参数,控制是否开启复制线程批量更新。sla

2021-01-08 19:36:19 27

转载 MySQL 8.0能彻底解决困扰运维的复制延迟问题!

MySQL 8.0可以说是MySQL发展历史上里程碑式的一个版本,包括了多个重大更新,目前Generally Available版本已经已经发布,在此将介绍8.0版本中引入的一个重要的新特性——基于WriteSet的并行复制方案,此方案号称是彻底解决困扰MySQL运维人员多年的复制延迟问题。说到并行复制,这里简单的回顾一下各个版本的MySQL复制的演进,以帮助理解8.0版本中对并行复制MTS的优化。一、MySQL主从复制模型一切都要从MySQL的主从复制模型开始说起,下图是最经典的MySQL主从

2021-01-04 20:41:26 201

转载 MySQL 8.0复制新特性

MySQL 8.0 复制功能有很大改进提升,并行复制性能与5.7相比可能提高数倍,是不是很期待?翻译团队:知数堂藏经阁项目 - 琅琊阁团队成员:琅琊阁-小剑伯、 琅琊阁-江b 、琅琊阁-简小鹿原文出处:https://severalnines.com/blog/what-s-new-mysql-replication-mysql-80原文作者:Krzysztof Ksiazek备注:发稿时,小编发现作者修改了原文,略尴尬哈截止目前(2017年8月),MySQL 8.0 仍然是 b.

2021-01-04 20:38:57 37

转载 mysql进阶(二十六)并行复制策略

如果备库执行日志的速度持续低于主库生成日志的速度,那这个延迟就有可能成了小时级别。而且对于一个压力持续比较高的主库来说,备库很可能永远都追不上主库的节奏。按表分发策略(略)按行分发策略(略)MySQL 5.6版本的并行复制策略官方MySQL5.6版本,支持了并行复制,只是支持的粒度是按库并行。MySQL 5.7的并行复制策略在MariaDB并行复制实现之后,官方的MySQL5.7版本也提供了类似的功能,由参数slave-parallel-type来控制并行复制策略: 配置.

2021-01-04 20:33:17 24

转载 binlog_transaction_dependency_tracking

控制事务依赖模式,让从库根据主库写入binlog中的 commit timestamps 或者 write sets 并行回放事务(引入该参数之后,binlog的格式记录的内容中增加了时间戳和write sets信息) 有三个取值: COMMIT_ORDERE:使用 5.7 本来就支持的Group commit 的方式决定事务依赖 WRITESET:使用 WriteSet 的方式决定判定事务直接的冲突,发现冲突则依赖冲突事务,否则按照 COMMIT_ORDERE 方式决定依赖 WRITES

2021-01-04 20:30:45 36

转载 What’s New With MySQL Replication in MySQL 8.0

What’s New With MySQL Replication in MySQL 8.0MySQL复制从问世到现在已经经历了多个年头,它的稳定性和可靠性也在稳步的提高。这是一个不停进化的过程,由于MySQL的很多重要功能都是依赖于复制,所以复制的快速发展也是很容易理解的。在MySQL的上一个版本当中,MySQL通过实现真正意义的并行复制将复制的性能提升到了一个新的层面,因为在MySQL 5.6的版本中,虽然号称是实现了并行复制,但是并行复制是schema级别的,即如果binlog row eve

2021-01-04 20:28:04 12

转载 MySQL8.0.19 禁用Binlog,保留副本上的提交顺序

MySQL 8.0.19引入了无Binlog副本(保留事务提交顺序),这意味着用户可以在不启用二进制日志的情况下部署异步副本,并保留相同的顺序提交事务。用户可以禁用Binlog(skip-log-bin)和回放线程产生的日志(log-slave-updates = FALSE)进行的更改,同时保留相同提交顺序(slave-preserve-commit-order = TRUE)。对于基于writeset的依赖跟踪来实现事务并行化的用户来说,保持提交顺序是非常有用的。因此,用户现在可以在没有二进制...

2021-01-04 19:17:12 28

转载 MySQL binlog_transaction_dependency_tracking=commit_order和slave_preserve_commit_order的区别

binlog_transaction_dependency_tracking是设在主库,可以取commit_order,writeset,writeset_session,主要是控制binlog文件中last_committed的计算方式:commit_order即group commit,同在prepare阶段的事务,在binlog中last_committed数值一样,传到从库之后可以并行执行;writeset,会对事务处理的行数据哈希出一个writeset值,放到一个哈希表里,如果两个事务先后提交

2021-01-04 17:03:40 26

空空如也

小叔叔乎的留言板

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

空空如也

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

TA关注的人 TA的粉丝

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