- 博客(329)
- 资源 (17)
- 收藏
- 关注
原创 ES节点服务器异常掉电重启导致shard不能启动的问题修复
今天elasticsearch两个节点服务器异常掉电重启,遇到translog损坏的异常,将修复的过程记录下来。1、问题单机数据量有2亿+,一个index,20+个字段,使用bulk不停的写数据,bulk.size=5000,此时机器意外断电宕机。机器修复后重启ES,出现translogCorruptedException异常:[2018-04-18 16:29:25,95...
2018-04-18 22:04:03
3388
转载 elasticsearch出现TranslogCorruptedException导致shard不能启动的问题修复
测试elasticsearch过程中,遇到translog损坏的异常,将修复的过程记录下来。1. 问题单机数据量有8亿+,一个index,20+个字段,使用bulk不停的写数据,bulk.size=5W,此时机器意外断电宕机。机器修复后重启ES,出现translogCorruptedException异常:[plain] view plain c
2018-04-18 21:38:23
3549
转载 追踪同步分片副本
转自: easyice.cn周末抽空翻译了官网一篇关于 allocation id 的文章,这对理解 ES5之后主分片选举策略至关重要。原文链接elasticsearch 通过在集群中保留多个数据副本的方式提供故障转移功能,当出现网络分区或者节点挂掉时,更改操作可能无法在所有副本上完成。这篇博客展示了 elasticsearch 的内部机制之一,如何把未产生更改的 shar
2017-11-13 11:07:57
1907
转载 将 ELASTICSEARCH 写入速度优化到极限
转自:https://www.easyice.cn/archives/207目录 [隐藏]translog flush 间隔调整索引刷新间隔调整: refresh_intervalrefresh_intervalsegment mergeIndexing Bufferbulk 线程池和队列大小磁盘间的任务均衡节点间的任务均衡索引过程调整和优化自动生成 doc ID调整字段 Mappings调整_s...
2017-11-13 11:02:48
22451
3
转载 Elasticsearch优秀的索引设置技巧
下面的索引设置是从国外一家优秀的图片搜索公司获取,可以从其设置索引的设计上得到一些如何提高索引设计技巧的方式:{ "500px.photos-2016-05-06-20-09": { "aliases": { "500px.photos": {} }, "mappings": { "photo": { "_all": {
2017-11-09 11:25:48
3107
原创 用 logstash 解析 json 数组
原始输入日志文件每行日志格式如下,json 数组格式的: [{“a”:1},{“a”:2}]要求拆分成2行事件,在ES中保存两个文档 {“a”:1} {“a”:2}本来以为挺麻烦,原来 input -> codec => json 直接支持解析这种格式,真愚昧啊 file { type => "test" path => "/home/jfy/tmp/te
2017-11-01 16:06:43
7335
原创 修改 mysql-binlog 二进制日志文件至其它目录
myql默认配置情况下,二进制日志文件是保存在默认的数据目录 data 下,如:/usr/local/mysql/data。 有时我们希望把 binlog 修改保存到其他目录下,现记录下操作过程。 假设原目录为: /usr/local/mysql/data,并且已有一些日志文件 mysql-bin.?????? 新目录为: /data/mysql/datamysql.server stopvi
2017-10-27 16:44:40
6333
原创 Elasticsearch集群冷热分离-实际操作
这次冷热分离将4个节点,分别2个为一组,分别叫做 cold & hot,hot 组两个节点,cold 组两个节点节点级别配置在 hot 组的两个节点的 elasticsearch.yml 配置文件 Node 配置段中增加node.tag: hot在 cold 组的两个节点的 elasticsearch.yml 配置文件 Node 配置段中增加node.tag: cold索引级别配置为了让新建的的索引
2017-10-26 15:22:52
6568
1
转载 mysql在线无性能影响删除7G大表
如何在mysql数据库里删除7G(或更大)大表,使其又不影响服务器的io,导致性能下降影响业务。先不说其是mysql表,就是普通文件,如果直接rm删除,也会使服务器的io性能急剧下降;换个思路如果用化整为零的方式,分多次大大文件一点一点删除,就可以避免因删除文件占用太多服务器io资源例子:版本:mysql> select version();+------------+
2017-08-25 11:46:45
1330
转载 MySQL/InnoDB处理AUTO_INCREMENT(二)
Configurable InnoDB Auto-Increment LockingAs described in the previous section, InnoDB uses a special lock called the table-level AUTO-INC lock for inserts into tables with AUTO_INCREMENT columns. T
2017-07-02 16:42:50
1316
转载 MySQL/InnoDB处理AUTO_INCREMENT(一)
http://dev.mysql.com/doc/refman/5.6/en/innodb-auto-increment-handling.htmlAUTO_INCREMENT Handling in InnoDB下面所使用的表CREATE TABLE people ( person_id BIGINT NOT NULL AUTO_INCREMENT, fir
2017-07-02 16:39:04
1776
转载 MySQL auto_increment实现
运维的时候,经常遇到auto_increment的疑惑:机器异常crash,重启后id回退的问题性能考虑,每次获取肯定不会持久化,内存中取值,statement复制如何保证主备一致id的取值受binlog的保护吗1. auto_increment相关的参数控制1.1 innodb_autoinc_lock_mode0: 每一个statement获取一个排他lock,
2017-07-02 16:32:11
1570
1
转载 MySQL 命令行工具之 mysqldump 深入研究
原文链接:http://www.cnblogs.com/digdeep/p/4898622.htmlhttp://www.cnblogs.com/digdeep/p/4906032.htmlmysqldump 是MySQL的一个命令行工具,用于逻辑备份。可以将数据库和表的结构,以及表中的数据分别导出成:create database, create table, i
2017-03-15 11:13:18
1827
转载 使用 xtrabackup 进行MySQL数据库物理备份
原文链接:http://www.cnblogs.com/digdeep/p/4946230.html0. xtrabackup的功能能实现的功能:非阻塞备份innodb等事务引擎数据库、备份myisam表会阻塞(需要锁)、支持全备、增量备份、压缩备份、快速增量备份(xtradb,原理类似于oracle:tracking 上次备份之后发生修
2017-03-15 11:04:02
11426
转载 深入理解mysqldump原理 --single-transaction --lock-all-tables --master-data
原文链接:http://blog.csdn.net/cug_jiang126com/article/details/49824471在mysqldump过程中,之前其实一直不是很理解为什么加了--single-transaction就能保证innodb的数据是完全一致的,而myisam引擎无法保证,必须加--lock-all-tables,前段时间抽空详细地查看了整个mysqldu
2017-03-14 11:15:20
599
转载 MySQL 一致性读 深入研究
原文链接:http://www.cnblogs.com/digdeep/p/4947694.html一致性读,又称为快照读。使用的是MVCC机制读取undo中的已经提交的数据。所以它的读取是非阻塞的。相关文档:http://dev.mysql.com/doc/refman/5.6/en/innodb-consistent-read.htmlA consisten
2017-03-14 11:05:39
904
原创 一次mysql slave故障的解决过程
mysql> show slave status\G Last_SQL_Error: Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master’s binary log is corrupted (you can check this by running
2017-03-06 13:07:24
8926
转载 MySQL闪回原理与实战
MySQL闪回原理与实战原文地址: https://github.com/danfengcao/binlog2sql/blob/master/example/mysql-flashback-priciple-and-practice.md https://github.com/danfengcao/binlog2sqlDBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要
2017-02-14 09:29:31
596
转载 binlog2sql
binlog2sql原文地址:https://github.com/danfengcao/binlog2sql从MySQL binlog解析出你要的SQL。根据不同选项,你可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。用途数据快速回滚(闪回)主从切换后数据不一致的修复从binlog生成标准SQL,带来的衍生功能项目状态正常维护。应用于大众点评线上环境。线上环境的操作,请在
2017-02-14 09:26:18
2616
转载 缓存更新的套路
原文地址:http://coolshell.cn/articles/17416.html看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中
2016-08-25 17:05:54
1995
转载 关于高可用的系统
在《这多年来我一直在钻研的技术》这篇文章中,我讲述了一下,我这么多年来一直在关注的技术领域,其中我多次提到了工业级的软件,我还以为有很多人会问我怎么定义工业级?以及一个高可用性的软件系统应该要怎么干出来?这样我也可以顺理成章的写下这篇文章,但是没有人问,那么,我只好厚颜无耻的自己写下这篇文章了。哈哈。另外,我在一些讨论高可用系统的地方看到大家只讨论各个公司的技术方案,其实,高可用的系统并不
2016-08-25 17:03:47
2275
原创 Mysql 主从出现故障
今天由于 slave 机异常掉电导致主从同步出现异常在 slave mysql 上查看 slave 状态: show slave status\G发现 IO 线程正常,但是 SQL 线程 NO,错误如下:Last_SQL_Errno: 1594Last_SQL_Error: Relay log read failure: Could not parse relay log event entry
2016-08-17 18:32:14
2621
原创 如何快捷的判断一批索引中不存在的或 close 的索引
Elasticsearch查询多个索引时,如果其中某个索引不存在或closed,则该查询直接返回 ”404 索引丢失“ 错误如:GET /ocslog-2016.08.03,ocslog-2016.08.04,ocslog-2016.08.05,ocslog-2016.08.06/_search假如:ocslog-2016.08.03不存在,则将直接返回:{ "error": "IndexM
2016-08-12 21:33:26
3482
1
转载 mysql binlog in realtime
http://guweigang.com/blog/2013/11/18/mysql-binlog-in-realtime/众所周知,MySQL是最受欢迎的互联网数据库(没有之一)———————为开源而生。发展初期,很多公司都受益于其易用性和经济性。随着这些公司的成长,越来越多的公司投入到MySQL的开发中,因此MySQL的特性也越来越丰富,如:不同特性的存储引擎、Binlog
2016-06-23 14:58:44
857
原创 详解Gearman Job中的Unique
PHP GearmanClientGearmanClient客户端库会自动生成Unique,因此即使完全相同的请求内容,Job Server也会接收处理,比如下面两个客户端的调用,那么test队列中的任务数为2# 测试时先停止worker中函数test的处理client1->do("test", "test");client2->do("test", "test");如果,完全相同的请求,要
2016-05-16 21:48:26
1407
转载 58同城数据库架构最佳实践
数据库的基本概念基本概念这一块,主要是让大家就一些数据库方面的概念达成一致。首先是“单库”,最初的时候数据库都是这么玩的,几乎所有的业务都有这样的一个库。接下来是“分片”,数据库的分片是解决数据量大的问题。如果数据量非常大,就要做水平切分,有一些数据库支持auto sharding。之前58同城也用过两年mongoDB,后来发现auto sharding功能
2016-05-10 13:10:02
2009
转载 每秒处理10万订单乐视集团支付架构
随着乐视硬件抢购的不断升级,乐视集团支付面临的请求压力百倍乃至千倍的暴增。作为商品购买的最后一环,保证用户快速稳定的完成支付尤为重要。所以在15年11月,我们对整个支付系统进行了全面的架构升级,使之具备了每秒稳定处理10万订单的能力。为乐视生态各种形式的抢购秒杀活动提供了强有力的支撑。一、库分表在redis,memcached等缓存系统盛行的互联网时代,构建一个支撑每秒十万
2016-05-10 12:55:10
1373
原创 处理TAP国际漫游话单的几种类库使用方法
snacc这个库比较早,最早是1997年,2002年的版本是1.4,后面没有更新。在unix环境使用没问题,在linux环境下编译不过去。下面是unix环境下的使用方法。 - 升级make->gmakehttp://ftp.gnu.org/gnu/make/make-3.75.tar.gz编译snacc cd snacc/compiler make./snacc Usage: ./snacc
2016-05-07 21:34:21
2866
转载 ES的一些优化经验
亿级规模的ES查询优化实战能用filter就不用query filter拿到相应的doc后不计算score不用排序 query会对符合条件的doc计算score并进行排序 filter的查询速度比query快很多增加相关cache的配置 indices.cache.filter.size: 30% indices.fielddata.cache.size: 60% index.cac
2016-04-25 13:26:18
7291
转载 Lucene 查询中的距离查询(proximity query)
http://chenlinux.com/2016/04/04/lucene-proximity-querystring/我们在使用 ELK 的时候,使用 Lucene querystring 语法的机会,远超过使用 Elasticsearch 的 query DSL。毕竟在搜索框里写语法比自己拼 JSON 简单多了。不过一般我们用的 querystring 语法总
2016-04-07 11:33:10
2296
转载 Linux系统中对SSD硬盘优化的方法
http://blog.csdn.net/whycold/article/details/24985943这里说的优化是针对EXT4格式,因为看了很多国外网站的很多读写评测,目前来说,EXT4在SSD硬盘是最快的,所以推荐使用SSD硬盘的使用EXT4格式。优化方案如下:文章提到的fstab在/etc里面,可以直接运行"sudo gedit /etc/fstab"来修改
2016-04-06 13:44:43
10045
转载 SSD 下的 MySQL IO 优化
https://dbarobin.com/2015/08/29/mysql-optimization-under-ssd/一 目录一 目录二 背景三 SSD 特性四 基于 SSD 的数据库优化五 A 项目 MySQL 主从关系图六 程序切换之前调优6.1 修改系统 IO 调度算法6.2 修改 innodb_io_capacity = 40006.3
2016-04-06 13:38:41
6226
转载 微博MySQL优化之路
http://www.cnblogs.com/billyxp/p/5257647.html微博MySQL优化之路数据库是所有架构中不可缺少的一环,一旦数据库出现性能问题,那对整个系统都回来带灾难性的后果。并且数据库一旦出现问题,由于数据库天生有状态(分主从)带数据(一般还不小),所以出问题之后的恢复时间一般不太可控,所以,对数据库的优化是需要我们花费很多精力去做的。
2016-04-06 13:12:15
1274
转载 xtrabackup新版详细说明
http://www.cnblogs.com/billyxp/p/5305676.html Percona Xtrabackup 2.4.1编译及软件依赖centos5,6 需要升级cmake至2.8.2版本以上,解决:安装cmake版本3.4.3测试通过centos5 gcc g++ 需要升级gcc至4.4以上上 ,解决:安装4.4.7测试通过
2016-04-06 13:10:18
5006
2
转载 MySQL relay_log_purge=0 时的风险
http://ourmysql.com/archives/1453有时候,我们希望将 MySQL 的 relay log 多保留一段时间,比如用于高可用切换后的数据补齐,于是就会设置 relay_log_purge=0,禁止 SQL 线程在执行完一个 relay log 后自动将其删除。但是在官方文档关于这个设置有这么一句话:Disabling purging of rel
2016-04-06 13:06:04
8199
1
转载 分享的好处
http://www.cnblogs.com/billyxp/p/5242174.html分享对于技术人员的成长是非常有必要的,而且好处非常多,但是在部门内部的分享,不应该好高骛远,在不同的阶段应该侧重不同的内容和层次,这样才能收到效果,毕竟分享的人和听分享的人都投入了时间成本,如果没有收益,这件事情肯定无法长久的执行下去,而不持之以恒,那就真是纯形式主义了。个人理解的
2016-03-08 10:20:01
6556
原创 Elasticsearch随笔02
fields 自定义返回字段{ //"_source": false, //"_source": ["aa*", "bb*"] //"_source": ["username"] "fields": ["username"], "aggs" : { "genders" : { "terms" : { "field": "
2016-03-02 10:16:12
1272
转载 让Logstash每次都从头读文件
input { file { path => ["/data/test.log"] start_position => "beginning" sincedb_path => "/dev/null" }}output { stdout { codec => rubydebug }}要点就在这行
2016-03-02 10:15:17
10470
转载 Twitter-Snowflake,64位自增ID算法详解
Twitter-Snowflake算法产生的背景相当简单,为了满足Twitter每秒上万条消息的请求,每条消息都必须分配一条唯一的id,这些id还需要一些大致的顺序(方便客户端排序),并且在分布式系统中不同机器产生的id必须不同。Snowflake算法核心把时间戳,工作机器id,序列号组合在一起。 除了最高位bit标记为不可用以外,其余三组
2016-02-22 09:06:16
1075
php_client_for_mysql_binlog 源代码包
2017-05-16
阿里cobar中间件文档集合
2014-04-29
高性能MySQL 第三版读书笔记 一至六
2013-11-19
MYSQL学习资料
2013-11-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人