自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wzy0623的专栏

数据库、数据仓库、大数据

原创 MySQL找出未提交事务的信息

目录 一、processlist中的未提交事务 二、information_schema.innodb_trx中的未提交事务 三、performance_schema.events_statements_current中的未提交事务 参考: 我们经常会碰到这样的情况,某个事务执行...

2020-03-28 08:14:05

阅读数 88

评论数 0

原创 redis手工分片

目录 一、redis环境 二、redis手工分片步骤 1. 配置级联复制 2. 去掉老哨兵监控 3. 停止新实例从老实例的复制 4. 添加新哨兵监控 5. 重启新哨兵 6. 添加老哨兵监控 7. 重启老哨兵 随着数据量越来越大,一个redis实例可能需要分成多个以形成数...

2020-03-25 05:43:38

阅读数 71

评论数 0

原创 在CDH 6.3.1上安装HAWQ 2.4.0

目录 一、安装环境 二、选择HAWQ主机 三、安装前准备 1. 建立gpadmin用户和HAWQ主目录 2. 创建HAWQ的本地数据目录 3. 安装依赖包 三、安装HAWQ 1. 下载安装包 2. 解压并安装 四、配置HAWQ 1. 创建HAWQ的HDFS数据目录 2. 修...

2020-03-13 17:41:38

阅读数 230

评论数 1

原创 定期全备redis

首先申明我的观点,redis本身只是缓存,不适合作为数据库使用,有说微博就是拿redis当DB用的,自己去证实吧。如果非要拿redis当数据库,就不得不考虑数据丢失问题,这里讨论两种常见的可能造成数据丢失的情况。 第一种情况是redis实例或所在主机宕机,这可以通过复制来解决,再配以re...

2020-03-12 07:18:22

阅读数 178

评论数 0

原创 CDH 6.3.1整合Zeppelin 0.8.2

Zeppelin是一个基于Web的笔记本,可以直接在浏览器中编写代码,对数据进行查询分析并生成报表或图表,做出数据驱动的、交互、协作的文档,并且可以共享笔记。Zeppelin提供了内置的Apache Spark集成,提供的功能有: 自动引入SparkContext 和 SQLContext 从...

2020-03-11 11:12:22

阅读数 105

评论数 0

原创 在CDH 6.3中安装Phoenix服务

目录 一、下载并安装Phoenix parcel 二、安装CSD文件 三、在Cloudera Manager中添加Phoenix服务(前提是已经安装了HBase服务) 四、配置HBase以用于Phoenix 五、验证Phoenix安装 参考: 一、下载并安装Phoenix parce...

2020-03-10 08:04:44

阅读数 191

评论数 0

原创 用NC或rsync传文件和目录

目标机(172.16.1.125): nc -l 12345 | tar zxvf - 源机(172.16.1.124): tar cfz - * | nc 172.16.1.125 12345

2020-03-02 18:02:26

阅读数 100

评论数 0

转载 MySQL百万级数据高效导入Redis

DBAplus社群今天 以下文章来源于侠梦的开发笔记,作者侠梦 前言 随着系统的运行,数据量变得越来越大,单纯的将数据存储在MySQL中,已然不能满足查询要求了,此时我们引入Redis作为查询的缓存层,将业务中的热数据保存到Redis,扩展传统关系型数据库的服务能力,用户通过应用直接从Red...

2020-03-02 16:16:50

阅读数 143

评论数 0

原创 Galera Cluster for MySQL 详解(五)——负载均衡

Galera负载均衡器(Galera Load Balancer,GLB)为客户端请求提供了一个简单的TCP连接平衡功能,其与Galera Cluster的关系类似于MySQL Router之于组复制。它从另一个轻量级负载均衡器Pen中汲取灵感,开发考虑了可伸缩性和性能,但仅限于平衡TCP连接。G...

2020-02-29 14:50:18

阅读数 137

评论数 0

原创 获取MySQL历史session

MySQL的show processlist命令可以显示当时的会话情况,但很多时候都需要查看出问题当时的状态,可惜MySQL没有提供类似history session这样的功能。于是为了方便问题排查,自己写了一个非常简单的抓取MySQL现场session的脚本,生产数据库已经用了很长时间,感觉对t...

2020-02-27 07:07:45

阅读数 141

评论数 0

原创 批量取redis key/value和批量删除key

需求:取出所有前缀为g.at.ga.的string类型的key及其value 实现: 1. 取出key redis-cli -p 26379 -a 123456 -n 0 keys g.at.ga.* > a.txt 2. 拼出取value的命令 sed 's/^/get &...

2020-01-23 07:38:55

阅读数 1177

评论数 0

转载 为什么 redis 单线程却能支撑高并发

redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发? 这个是问 redis 的时候,最基本的问题吧,redis 最基本的一个内部原理和特点,就是 redis 实际上是个单线程工作模型,你要是这个都不知道,那后面玩儿 redi...

2020-01-16 09:18:50

阅读数 178

评论数 0

原创 MySQL高可用之DRBD

目录 一、DRBD简介 1. 工作原理 2. DRBD 支持的底层设备 3. DRBD资源 4. DRBD 配置工具 5. DRBD与RAID1区别 6. DRBD与共享存储 二、DRBD安装配置 1. 实验环境 2. 配置前准备 3. 下载安装DRBD 4. 配置DRBD...

2019-11-14 17:24:33

阅读数 2369

评论数 0

原创 一键式完全删除CDH 6.3.1

CDH集群的安装部署虽然步骤比较多,但只要严格按照文档操作,一般不会有太大问题。然而,如果安装过程中出错,或因为其它原因需要重新安装CDH,在不重装操作系统的前提下,是比较困难的。难点在于需要删除的东西太多,不删干净了非常容易造成安装失败。网上找的所谓“CDH完全卸载”其实都不够完全。经过一天的反...

2019-11-07 06:03:02

阅读数 281

评论数 0

原创 Galera Cluster for MySQL 详解(四)——性能测试

目录 一、测试目标 二、测试规划 三、测试过程 1. 缺省配置 2. 多线程 3. 流控 四、测试结论 参考: 本篇使用tpcc-mysql压测工具对实验环境的三节点Galera集群进行一系列性能测试。 一、测试目标 验证Galera的同步复制,检查是否存在复制延迟。...

2019-10-31 16:29:05

阅读数 421

评论数 0

原创 Galera Cluster for MySQL 详解(三)——管理监控

目录 一、管理 1. 在线DDL (1)TOI (2)RSU (3)pt-online-schema-change 2. 恢复主组件 (1)了解主组件状态 (2)修改保存的主组件状态 3. 重置仲裁 (1)查找最高级的节点 (2)重置仲裁 (3)自动引导 (4)手动引导 ...

2019-10-30 15:29:01

阅读数 893

评论数 0

原创 Galera Cluster for MySQL 详解(二)——安装配置

目录 一、Galera集群实验环境 二、初始安装 1. 安装galera-3、mysql-wsrep-5.7、Percona-XtraBackup-2.4.15 2. 修改配置文件 3. 初始化集群 4. 启动集群其它节点的mysqld服务 5. 验证安装 6. 问题排查 三、使...

2019-10-17 15:24:47

阅读数 787

评论数 2

原创 Galera Cluster for MySQL 详解(一)——基本原理

目录 一、同步复制 二、Galera复制架构 1. wsrep api 2. 全局事务ID(global transaction id,GTID) 3. Galera复制插件 4. 组通信插件 三、Galera复制工作原理 四、状态转移 1. 状态快照传输 2. 增量状态转移 ...

2019-10-12 17:49:34

阅读数 2673

评论数 0

原创 快速安全删除MySQL大表

目录 一、表删除过程 1. buffer pool清除 2. 删除表相关的磁盘文件 二、创建硬链接 三、删除表 四、删除文件释放空间 参考: 在一个高负载的生产数据库上删除大表需要一些技巧,倘若直接drop table,将产生大量磁盘I/O,严重的会卡库,这是高可用服务所不...

2019-10-07 18:33:58

阅读数 1315

评论数 4

原创 InnoDB Cluster详解

目录 一、InnoDB Cluster简介 1. 整体架构 2. MySQL Shell 3. MySQL Router 4. MySQL服务器集群 二、创建InnoDB Cluster 1. 检查实例配置 2. 配置实例 3. 创建集群 4. 向集群添加实例 5. 查看集群...

2019-09-12 18:42:00

阅读数 1668

评论数 0

原创 MySQL Router 8 详解

目录 一、功能介绍 1. 透明路由 2. 元数据缓存 3. 简单重定向 4. MySQL Router 8.0的新特性 二、安装与启动 1. 安装 2. 启动 三、配置 1. 配置文件位置 2. 配置文件语法 3. 配置文件示例 MySQL Router最早是作为...

2019-09-03 15:35:32

阅读数 2493

评论数 4

原创 重叠时间段问题优化算法详解

目录 一、问题提出 1. 描述 2. 分析 二、优化重叠查询 1. 自关联 2. 游标+内存临时表 三、改进取得活跃时段的算法 1. 最小范围算法(表连接) 2. 正负计数器算法(一次扫描) 四、MySQL 8的单条查询解决方案 一、问题提出 1. 描述 这是一个...

2019-08-26 09:59:42

阅读数 1072

评论数 0

原创 将MySQL去重操作优化到极致

目录 一、巧用索引与变量 1. 无索引对比测试 (1)使用相关子查询 (2)使用表连接 (3)使用变量 2. 建立created_time和item_name上的联合索引对比测试 (1)使用相关子查询 (2)使用表连接 (3)使用变量 (4)使用变量,并且消除嵌套查询 二、利...

2019-07-31 15:04:11

阅读数 8826

评论数 16

原创 快速生成数字辅助表

数字辅助表只有一个整数列,包含从1到N个整数序列值,N通常很大。对MySQL来讲,数字辅助表是一个强大的工具,编写SQL语句时经常用数据表与数字辅助表做笛卡尔积来创建额外的行。建议创建一个持久的数据辅助表,并根据需要填充一定数据量的值。 实际上如何填充数字辅助表无关紧要,因为只需要运行这个过...

2019-07-31 10:08:53

阅读数 278

评论数 0

原创 MySQL 8 复制(十)——组复制性能与限制

目录 一、组复制性能 1. 概述 2. 测试规划 3. 消息压缩 4. 组通信线程循环 5. 写入集 6. 流控 7. 其它配置 8. 主从、半同步、组复制性能对比测试 二、组复制要求与限制 1. 组复制要求 2. 组复制限制 一、组复制性能 1. 概述 组复...

2019-07-30 15:08:53

阅读数 760

评论数 1

原创 MySQL 8 复制(九)——组复制联机配置

目录 一、配置组复制模式 1. 单主模式 2. 多主模式 3. 联机配置组复制模式 4. 配置并发写实例数 5. 设置组的通信协议版本 二、保证数据一致性 1. 组复制数据一致性简介 2. 防止主库故障转移造成的过时读取 3. 选择适当的一致性级别 4. 一致性级别范围 5...

2019-07-19 18:06:28

阅读数 302

评论数 0

原创 MySQL 8 复制(八)——组复制安装部署

目录 一、部署单主模式组复制 1. 安装MGR插件 2. 准备配置文件 3. 重启主库实例 4. 启动组复制 5. 向组中添加实例 二、组复制监控 三、容错示例 1. 一个SECONDARY实例正常shutdown 2. 一个SECONDARY实例异常shutdown 3. ...

2019-07-12 16:16:31

阅读数 1019

评论数 0

原创 MySQL 8 复制(七)——组复制基本原理

目录 一、MySQL复制技术 1. 主从复制 2. 组复制 二、组复制使用场景 三、组复制相关服务 1. 故障检测 2. 组成员服务 3. 容错 四、组复制技术细节 1. 组复制插件体系结构 2. 复制组 3. 数据操作语言(Data Manipulation Lan...

2019-07-09 16:41:35

阅读数 1262

评论数 0

原创 MySQL 8 复制(六)——拓扑与性能

目录 一、复制拓扑 1. 一主一(多)从 2. 双(多)主复制 4. 多源复制 5. Blackhole引擎与日志服务器 二、复制性能 1. 测试规划 2. sync_binlog与innodb_flush_log_at_trx_commit 3. 组提交与多线程复制 4. 基...

2019-07-04 16:39:59

阅读数 1244

评论数 0

原创 MySQL 8 复制(五)——配置GTID复制

目录 一、配置GTID复制 1. 联机配置GTID复制 2. 联机更改复制模式 3. GTID相关系统变量 二、GTID运维 1. 跳过一个事务 2. mysqldump导出 3. 主从切换 三、GTID限制 四、GTID集合运算函数 1. GTID内置函数 2. 用户自定...

2019-06-14 17:10:25

阅读数 1536

评论数 3

原创 MySQL 8 复制(四)——GTID与复制

目录 一、GTID简介 1. 什么是GTID 2. GTID的格式与存储 二、GTID生命周期 1. 典型事务的GTID生命周期 2. GTID分配 3. gtid_next系统变量 4. gtid_purged系统变量 三、GTID自动定位 MySQL复制中使用的事务...

2019-06-06 17:52:03

阅读数 3633

评论数 5

转载 Redis Cluster FlushAll失败

转自:http://longlongblog.cn/2017/11/01/58/ 问题背景 Flush是一个极少用到的操作,不过既然碰到过诡异的现象,也记录在此。 问题场景是在Reids Cluster中使用主从模式,向主节点发送flush命令,预期主从节点都会清空数据库。但是诡异的现象出现...

2019-05-29 14:35:36

阅读数 847

评论数 0

原创 MySQL 8 复制(三)——延迟复制与部分复制

目录 一、延迟复制 1. 延迟复制简介 2. 延迟复制时间戳 3. 监控延迟复制 二、部分复制 1. 简介 2. 评估数据库级复制和二进制日志选项 3. 评估表级复制选项 4. 复制规则应用 5. 部分复制示例 三、主从切换 1. 计划内切换 2. 计划外切换 一、延迟...

2019-05-28 17:56:41

阅读数 1768

评论数 6

原创 MySQL 8 复制(二)——半同步复制

目录 一、简介 二、性能提升 1. 支持发送二进制日志事件和接收ACK的异步化 2. 控制主库接收确认反馈从库的数量 3. 二进制日志互斥锁改进 三、数据一致性 1. 源码剖析 2. rpl_semi_sync_master_wait_point的配置 3. sync_bin...

2019-05-16 18:01:45

阅读数 2195

评论数 5

原创 MySQL 8 复制(一)——异步复制

目录 一、MySQL异步复制介绍 1. 复制的用途 2. 复制如何工作 3. 两阶段提交 二、复制实验环境 三、安装mysql-8.0.16 四、配置异步复制 1. 空库 2. 脱机 3. 联机 一、MySQL异步复制介绍 简单说,复制就是将来自一个MySQL数据库...

2019-05-10 18:25:10

阅读数 3282

评论数 11

原创 初学乍练redis:Redis 5 Cluster手工指定主从关系

1. 检查当前Cluster的主从关系 /home/redis/redis-5.0.3/src/redis-cli -a 123456 --cluster check 140.210.73.39:20001 结果如下: 140.210.73.39:20001 (a1addf19....

2019-04-21 16:25:50

阅读数 962

评论数 1

原创 初学乍练redis:Redis 5.0.3单实例数据迁移到Cluster

在使用redis 3时,可以使用redis-migrate-tool工具做redis在线数据迁移(参考https://wxy0327.blog.csdn.net/article/details/84138537)。但是我们现在使用的redis server已经升级到5.0.3版本,再用redis-...

2019-04-19 18:16:28

阅读数 1213

评论数 1

原创 初学乍练redis:使用rdr查看Redis key内存使用

一、问题提出 有一个生产系统的Redis实例内存使用超限引发报警,需要查看各个key所使用的内存分布情况,以便采取进一步的措施。 二、安装RDR Redis原生并没提供查看单个Key的内存占用情况的命令。经过简单快速地调研,决定试一下RDR(Redis Data ...

2019-04-18 15:59:12

阅读数 1431

评论数 2

原创 快速生成日期维度数据

日期维度在数据仓库中是一个特殊角色。日期维度包含时间概念,而时间是最重要的,因为数据仓库的主要功能之一就是存储和追溯历史数据,所以每个数据仓库里的数据都有一个时间特征。装载日期数据有三个常用方法:预装载、每日装载一天、从源数据装载日期。在三种方法中,预装载最为常见也最容易实现。在数据仓库生命周期中...

2019-04-06 08:38:32

阅读数 1623

评论数 4

原创 触类旁通Elasticsearch:管理

目录 一、模板 二、动态映射 三、分配感知 四、监控 1. 检查集群健康状况 2. 慢日志、热线程和线程池 3. 内存 4. 操作系统缓存 5. 存储限流 五、备份与恢复 1. 快照API 2. 将数据备份到共享的文件系统 3. 从备份中恢复 《Elasticsearc...

2019-02-22 16:08:07

阅读数 625

评论数 0

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