- 博客(118)
- 资源 (2)
- 收藏
- 关注
原创 PT 系列 00·小谈 pt-kill
pt-kill:1、官方文档2、功能概述3、使用场景4、常用查杀案例① 每 10 秒检查一次,发现有 Query的进程就 kill 掉② 查杀 select 大于 30s 的连接③ 查杀某用户大于 10s 的空闲连接④ 查杀某 IP 来源的连接⑤ 查杀某访问用户的连接⑥ 查杀正在 filesort 的 SQL1、官方文档Percona 工具包文档2、功能概述pt-kill是用来杀死符合特定条件的 MySQL 连接。3、使用场景在 MySQL..
2020-11-02 08:45:49 536 1
原创 小谈 MySQL 第十一话·InnoDB 碎片整理
官方建议不要经常(每小时或每天)进行碎片整理,一般根据实际情况,只需要每周或者每月整理一次即可:目录一、MySQL 表碎片化(Table Fragmentation) 的原因二、MySQL 中如何找出碎片化严重的表1、使用 show table status from db_name like 'tb_name' \G2、查询 information_schema.TABLES 获取表的碎片化信息三、MySQL 中如何减低表的碎片1、OPTIMIZE TABLE XXXX2、
2020-10-27 09:19:03 1660 5
原创 小谈 MySQL 第十话·InnoDB 直接拷贝文件实现表的复制
写在最前:在 MySQL 中如果要迁移一张表导入另一个环境中,常规的做法就是使用备份工具备份,比如 mysqldump,然后拷贝备份到目标环境导入。如果表数据量很大,导出 dump 文件很大的情况下,使用导出导入工具其实要花费不少的时间。怎么样提高效率呢❓有一种方案就想冷备份一样,直接拷贝表数据文件到目标环境,当然 MySQL 早期版本这么做是不支持的,因为会有很多关联数据在 ibdata 中,InnoDB 的数据存储对应的数据字典信息,是存放在共享表空间中,无法直接剥离出来,而在 5.6/5.
2020-10-26 23:49:24 1051
原创 Linux 下查询进程占用 CPU/MEM 最高的前 10 进程
①获取占用 CPU 资源最多的 10 个进程:ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head②获取占用内存资源最多的 10 个进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
2020-10-14 23:30:00 613
原创 小谈 MySQL 第九话·主从跳过复制错误
1、哪些复制错误可以跳过MySQL 因为 binlog 机制问题,有些时候会出现从库重放 SQL 执行失败的情况,特别是老的 statement 模式最容易出现这种情况(因为函数和存储过程的原因),这也是为什么强调使用 mixed 和 row 模式的原因。另外就是一些外部 XA 事务,因为 XA 事务日志不在 MySQL 中,有时候会出现回滚失败的情况,导致主从报错。出现这些情况该怎么办呢❓重做,当然是可以,但是如果库非常大,那耗时就不是一两小时那么容易,如果生成环境是做了读写分离,就不好交代了
2020-10-10 21:00:55 148
原创 小谈 MySQL 第八话·初始化数据目录
目录一、写在最前二、数据目录初始化概述1、常用参数说明2、初始化方式三、数据目录初始化期间的服务器操作1、检查数据目录是否存在2、创建相关库表3、初始化系统表空间和管理 Innodb 表所需的相关数据结构4、'root'@'localhost'超级用户和其它保留账号创建5、填充用于 HELP 语句的帮助表6、检测是否使用 init_file 系统变量命名 SQL 语句文件7、初始化结束退出四、详情请参照官网五、MySQL 安装详解一、写在最前.
2020-07-29 11:48:18 1667
原创 小谈 MySQL 第七话·高可用架构(Mycat+MHA+LVS)
写在最前:该篇文章还未完成,待进一步更新...。。一、初始Mycat+MHA+LVS1、为什么选择 Mycat?互联网的高速发展使分布式技术兴起,当系统的压力越来越大时,人们首先想到的解决方案就是想上扩展(scale up),简单说就是不断增加硬件性能来解决这个问题,采用这种方案的硬件成本比较高。还有另外一种方案就是水平扩展,通过增加服务器的节点采用负载均衡来解决问题,这样在应用服务器层面我们可以不停地增加服务器,来满足高并发和高访问量。这里我们只需要考虑 session 的处理,所有的压力都.
2020-07-13 23:03:11 925
原创 小谈 MySQL 第六话·日志文件
写在最前:日志文件是 MySQL 数据库的重要组成部分。MySQL 有几种不同的日志文件,通常包括重做日志、回滚日志、二进制日志、错误日志、慢查询日志、一般查询日志、中继日志等。这些日志可以帮助我们定位 MySQL 内部发生的事件,MySQL 性能故障,记录数据的变更历史,恢复数据等。重做日志(redo log),又被称为Innodb 的在线 redo 日志(innodb redo log) 回滚日志(undo log) 二进制日志(bin log) 错误日志(error log) 慢查询.
2020-07-03 09:58:04 240
原创 小谈 MySQL 第五话·备份与恢复之 mysqldump
目录一、mysqldump 简介二、mysqldump 备份命令1、命令格式2、选项解析3、常用选项说明4、备份实例① 导出数据库② 导出数据库中的某张数据表5、恢复操作① 系统命令行② source 方法三、生产环境不同引擎备份命令参数1、mysqldump 的关键参数2、不同引擎备份命令参数用法① MyISAM 存储引擎② InnoDB 存储引擎③ 生产环境命令参考一、mysqldump 简介mysqldump 是 MySQL
2020-06-30 19:17:17 344
原创 小谈 MySQL 第四话·备份与恢复之 Xtrabackup
一、Xtrabackup 简介MySQL 冷备、mysqldump、MySQL 热拷贝都无法实现对数据库进行增量备份。在实际生产环境中增量备份是非常实用的,如果数据大于 50G 或 100G,存储空间足够多的情况下,可以每天进行完整备份,如果每天产生的数据量较大,需要定制数据库备份策略。例如每周日用全量备份,周一到周六用增量备份。而Xtrabackup 就是为了实现增量备份而出现的一款主流备份工具,Xtrabackup 有两个工具,分别是xtrabackup 和innobackupex。Xtr...
2020-06-30 12:03:05 202
原创 小谈 MySQL 第三话·主从同步延迟
目录一、MySQL 从库同步的相关参数二、MySQL 从库同步延时出现的情况三、MySQL 主从同步延迟的缘由1、MySQL 主从同步原理2、MySQL 主从同步延迟是怎么产生的四、MySQL 主从同步延迟解决方案1、架构方面2、硬件方面3、MySQL 参数调整4、文件系统本身属性的优化(略)5、号称永久解决复制延迟问题的并行复制一、MySQL 从库同步的相关参数1、Master_Log_Fileslave 中的 I/O 线程当前正在读取的主服务器二进
2020-06-29 16:18:56 257
原创 Open-Falcon 之自定义 MySQL 监控
目录一、系统要求二、逻辑原理三、汇报字段四、监控告警设置五、MySQL 监控指标采集脚本1、60_port_collector.sh2、30_monitordata_collector.sh一、系统要求操作系统:Linux MySQL ≥ 5.6# cp /data/mysql-5.6.16/bin/mysql /usr/bin/# cp /data/mysql-5.6.16/bin/mysqladmin /usr/bin/二、逻辑原理通过Base_My.
2020-06-17 18:55:52 1022
原创 Open-Falcon 之自定义 Flume 监控
目录一、系统需求二、逻辑原理三、汇报字段四、监控告警设置五、Flume 监控脚本一、系统需求操作系统:Linux Python ≥ 2.6 python-requests二、逻辑原理通过 Flume 进程运行时暴露的 Http 接口获取Flume组件信息,通过 Python 解析组件信息,将得到的 json 数据格式的结果输出到标准输出。启动 flume agent 时添加java环境变量:-Dflume.monitoring.type=http -Dflume..
2020-06-16 11:09:08 255
原创 自定义 Open-Falcon 监控
自定义 push 数据到 open-falcon:不仅仅是 falcon-agent 采集的数据可以 push 到监控系统,一些场景下,我们自定义的一些数据指标,也可以 push 到 open-falcon 中,比如:线上某服务的 qps 某业务的在线人数 某个接⼝的响应时间 某个⻚面的状态码(500、200) 某个接⼝的请求出错次数 某个业务的每分钟的收⼊统计 ......注意, http request body 是个 json,这个 json 是个列表。1、API 详解.
2020-06-16 10:44:19 1055
原创 Open-Falcon 配置参数概述
Counters Notes agent.alive agent节点状态 cpu.idle CPU空闲值 cpu.busy CPU使用情况百分比 cpu.user 用户态使用的CPU百分比 cpu.nice nice值为负进程的CPU时间 cpu.system 内核态使用的CPU百分比 cpu.iowait 硬盘IO等待时间 cpu.irq...
2020-06-16 10:21:00 1310
原创 基于 Flume 的 Python 日志处理 METL 系统
一、Flume 日志收集系统1、一图了解 HIGO 新日志收集系统2、Flume 日志汇聚(Flume NG 之 HIGO 实际应用方案)Agent Hostname IP User Path Log Topic Agent00 yz-sre-wannx00.lehe.com 10.20.201.242 flume /home/flume/flumeng/ /usr/local/openresty/ng...
2020-06-03 18:30:45 367
原创 Flume NG 之线上实际应用方案
一、案例场景wannx00、wannx01、preonline01三台日志服务机器实时生产日志主要类型为access.log、nginx.log、web.log。监控日志实时采集新增的数据 把三台机器的日志采集汇总到一台机器上然后统一收集到 hdfs 或 kafka 中; 汇总机器需要自动故障转移,当主汇总机器挂了,自动通过另一台机器进行汇总; 添加指定拦截器,区分不同日志,定位到 hdfs 或 kafka 中自动耦合;二、场景分析三、故障转移四、集群架构...
2020-05-26 11:25:16 275
原创 《跑步圣经》
目录推荐理由:写在最前:一、跑步的益处1.肺部2.心血管3.骨骼4.免疫系统5.消化系统6.激素1)多巴胺2)内啡肽3)血清素二、跑步前的准备1.跑步装备(1)跑鞋(2)功能性运动服(3)其他设备2.人类的融合统一(1)根据呼吸感觉控制训练(2)根据心率控制训练3.热身运动三、入门级的跑步者:慢跑四、拥抱长跑比赛五、对儿童、女性和老年人的跑步建议1.儿童2.女性3.老年人结 语推荐理由:...
2020-05-20 22:36:34 879 2
原创 Hive 存储文件误删除之生成环境解决方案
目录写在最前:1、Hive 与 HDFS 之间的关系2、Hive 与关系型数据库的区别一、通过 HDFS 的垃圾回收站恢复二、通过快照恢复1、允许快照2、创建快照:3、删除快照4、重命名快照5、获取可快照的目录信息6、获取快照差异报告7、结果8、使用案例三、通过源数据恢复到 Hive1、Hive 数据来源分析2、日志数据恢复3、业务数据恢复4、中间层数据恢复5、商家端及其它 BI 数据恢复写在最前:1、Hive 与 H...
2020-05-20 12:40:45 512
原创 SQOOP 从 MySQL 导入到 Hive 之 Python 脚本
1、当前业务数据收集详情当前的业务数据收集是使用的 sqoop + python 的管理脚本实现的 部署在 sqoop@yz-bi-web01.lehe.com:/home/sqoop/sqoop上 脚本是通过 crontab 定期启动的 核心脚本 /home/sqoop/sqoop/bin/sqoop_import.py 将任务分为了天级和小时级两种,通过 crontab 定期调用 /home/sqoop/sqoop/bin/sqoop_import_hour.sh和/home/sqoop/s.
2020-05-20 11:16:16 320
原创 SQOOP 部署及导入数据到 Hive 的实际应用
写在最前: sqoop 是 hive、hdfs、hbase 等与 RDMBS(mysql 等)之间的沟通桥梁,主要通过 JDBC 与 RDMBS 进行交互。有两个版本sqoop1 和 sqoop2,sqoop1 架构简单,使用非常方便(由于我使用的是 sqoop1,所以本文主要介绍 sqoop1),sqoop2 是 c/s 架构,需要一个 tomcat 部署 server 端,并且提供了更多的访问方式:REST API、WEBUI、CLI、JAVA API 等,并且提供了更安全的访问...
2020-05-20 11:06:12 1042
原创 基于 Scribe 的 Python 日志处理 METL 系统
目录一、新日志收集系统1、一图了解 HIGO 新的日志收集系统2、日志源(NGINX)机器 Scribe cient3、日志汇聚(SCRIBE)机器 Scribe service4、Python 日志处理 METL 系统二、METL❓1、系统支持2、部署安装3、在 HIGO 的使用4、异常情况处理一、新日志收集系统1、一图了解 HIGO 新的日志收集系统2、日志源(NGINX)机器 Scribe cient服务器 服务 ...
2020-05-19 10:51:22 188
原创 Redis Cluster 踩坑案例之内存占用飙升
一、现象Redis Cluster 某个分片(10.20.2.53:7101)内存飙升,明显比其它高跟多,而且持续增长并达到了峰值。并且主从的内存使用量不一致。IP 监听端口 主/从 实例状态 内存使用 对象数 连接数 命中率 10.20.0.40 7101 master 运行中 393.08M(Used) / 18.63G(Total) 515897 10 82.8% 10.20.0.41 7102
2020-05-11 17:49:57 4284
原创 第十话 SaltStack 项目实战
一、salt-master(参考 10.20.1.57 或 10.20.1.52)1、首先Salt-Master 使用 saltstack repo 进行安装将以下文件保存到/etc/yum.repos.d/saltstack.repo 中:# 10.20.1.57、10.20.1.52[saltstack-repo]name=SaltStack repo for Red Hat Enterprise Linux $releaseverfile=/etc/yum.repos.d/sa.
2020-05-11 17:07:40 844
原创 第九话 SaltStack 高级话题
目 录第1章开始使用Salt1.1Salt部署的基本架构1.2安装Salt1.2.1软件包安装方式1.2.2脚本安装方式1.2.3源码方式安装1.2.4其他发行版Linux系统安装Salt1.3配置Salt1.3.1Salt minion配置1.3.2启动Salt master和Salt minion1.3.3在master上接受 minion 秘钥1.4第一条命令测试本章小结第2章通过Salt远程执行管理minion...
2020-05-11 16:58:45 204
原创 第八话 SaltStack 架构扩展
一、Salt 的多 master 高可用架构环境准备: master 服务端01 master 服务端02 minion 客户端01 minion 客户端02 minion 客户端03 minion 客户端04 IP 10.20.2.94 10.20.5.74 10.20.3.30 10.20.5.71 10.20.2.94 10.20.5.74 查看系统版本 # cat /etc/redhat-...
2020-05-11 16:42:18 315
原创 第七话 SaltStack 配置文件
写在最前:SaltStack 的配置项众多,通常应用默认值就可以解决绝大部分问题,Salt 的配置分为 master 端和 minion 端的配置,配置文件的位置分别是 /etc/salt/master 和 /etc/salt/minion。一、Salt master 配置详解1、主要配置部分2、安全部分3、master 模块管理4、状态系统模块5、文件服务器设置6、Pillar 设置7、Syndic 设置8、日志设置二、Salt minion 配置详解1、主
2020-05-10 19:04:41 893
原创 第六话 用 highstate 复合主机状态
环境准备: master 服务端 minion 客户端01 minion 客户端02 IP 10.20.2.94 10.20.0.30 10.20.5.71 查看系统版本 # cat /etc/redhat-release CentOS release 6.5 (Final) CentOS release 6.5 (Final) CentOS release 6.5 (Final) 查看系.
2020-05-10 18:58:38 292
原创 第五话 番外篇(更新 minion_id 及连接新的 master)
一、更新 minion_id 为 IP 形式1、正常情况下 minion_id 为机器 hostname## master 端:# 显示所有minion认证信息时为主机名# salt-keyAccepted Keys:Denied Keys:Unaccepted Keys:syq-snakenx-02.lehe.comRejected Keys:2、手动更新(适合少量机器)2.1 更新minion_id内容为 IP# vim /etc/salt/minion_id10
2020-05-10 18:52:42 902
原创 Flume NG 配置参数说明
一、Flume 的可恢复性靠 Channel。推荐使用 FileChannel,事件持久化在本地文件系统里(性能较差)。二、Flume 架构1、Client生产数据,运行在一个独立线程。2、EventFlume 将数据表示成 Event,数据结构很简单,具有一个主题和一个报头的集合。事件的主题是一个字节数组,通常通过Flume 传送的负载。报头被称为一个 map,其中有字...
2020-04-27 10:55:57 1017
原创 分布式日志收集框架 Flume NG 实战案例
写在最前之应用场景:flume 在大数据中扮演着数据收集的角色,收集到数据以后再通过计算框架进行处理。flume 是 Cloudera 提供的一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输的系统,flume 支持在日志系统中定制各类数据发送方,用于收集数据;同时,flume 提供对数据进行简单处理,并写到各种数据接收方(可定制)的能力。Flume 作为 Hadoop 中的日志采集...
2020-04-16 15:48:43 735
原创 分布式日志收集工具分析比较
写在最前:为什么做日志收集系统❓首先,什么是日志?日志就是程序产生的,遵循一定格式(通常包含时间戳)的文本数据。通常日志由服务器生成,输出到不同的文件中,一般会有系统日志、应用日志、安全日志。这些日志分散地存储在不同的机器上。当系统发生故障时,工程师就需要登录到各个服务器上,使用 grep / sed / awk 等 Linux 脚本工具去日志里查找故障原因。在没有日志系统的情况下,首...
2020-04-16 15:19:33 3643 1
原创 身份证到期异地办理(北京)
身份证到期异地办理(北京),百度、谷歌神马的都是浮云不要再搜再信了,不需要办理有效期内的北京居住证或居住登记卡,也不需要提供房主房产证复印件+房主本人身份证复印件,只需带现有身份证和 20 元现金就可以了(只需要带现有身份证 + 20 元现金)。办理地点:北京市户籍派出所(远郊分局户籍大厅)异地受理窗口北京市派出所地址电话上班时间查询...
2020-04-12 17:45:59 320 1
原创 第四话 通过 Jinja2 模板以及 Grain 和 Pillar 扩展主机状态
一、Jinja2 模板语言基础如果遇到一些更复杂的情况,比如对不同操作系统安装软件,根据主机的 CPU 数量、内存等动态生成软件的配置文件等,这一切都需要 Jinja2 以及 Grain 和 Pillar 的辅助。Jinja2 一个强大的 Python 模板引擎,可以使用代码动态生成内容创建文件内容,其在 Flask 和 Django 框架中的使用最为知名。Jinja2 官方文档:ht...
2020-03-30 16:07:54 345
原创 小谈 MySQL 第二话·优化原理
写在最前: 谈到 MySQL 的查询优化,相信大家肯定收藏了很多奇技妙招:不能使用 select *、不使用 null 字段、合理创建索引、为字段选择合适的数据类型...。。那你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下的性能是否真的有提升?我想应该未必。因而理解这些优化建议背后的原理其实尤为重要,希望本文能让大家重新审视这些优化建议,并在实际业务场景下合理...
2020-03-27 10:51:43 375
原创 《成事》
写在最前:成事!成事!成事!(GTD:getting things done)这本书在作者写作过程中,抵制了试图总结归纳的诱惑,还是保持梁启超《曾文正公嘉言钞》编选的顺序,和《论语》一样,没头没尾,从任何一页都可以读起,在任何一页都可以停下。承上疑问:孔子后人和梁启超为什么这么做?为什么没有试图建立一个不重不漏的体系?启下理解:总结归纳难免遗漏和变形,不如像草木流水一样把文字放在这...
2020-03-18 11:36:59 213
原创 《马云:未来已来》
第一章 21 世纪的全球化1、未来的三十年有人讲互联网经济或电子商务是虚拟经济,我认为他不仅是虚拟经济,还是未来经济。(Page 002) 电子商务没有冲击传统行业,更没有打击传统行业,电子商务只是把握了互联网的技术、互联网的思想,未来经济将完全基于网络。我们抓住了互联网技术,在这上面创造出一个适应未来的商业模式,那就是电子商务。(Page 003) 真正冲击传统行业、冲击就业的是我们...
2020-03-09 22:37:36 1115
原创 Python3小知识第三话:实现一个简单的发号器
写在最前:实现一个简单的发号器。即根据 SnowFlake 算法的原理实现一个简单的发号器,产生不重复、自增的 ID。1、什么是 SnowFlake 算法❓2、Python3 实现#!/usr/bin/env python3# -*- coding: UTF-8 -*-'''==================================================...
2020-01-19 16:16:20 449
原创 什么是 SnowFlake 算法❓
目录问在最前:方法一:UUID方法二:数据库自增主键抛砖引玉:你听说过 SnowFlake 算法吗?1、初始SnowFlake2、SnowFlake 的代码实现3、SnowFlake 的优势和劣势问在最前:如何在分布式集群中,生成全局唯一的 ID❓方法一:UUIDUUID 是通用唯一识别码 (Universally Unique Identifier)...
2020-01-19 15:52:15 647
Flume-ng-1.6.0-cdh.zip
2020-04-08
Mycat权威指南第一版_V1.6.5
2019-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人