- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 Mysql is null not null查询索引使用分析
转载https://www.cnblogs.com/niuben/p/11197945.html
2020-09-29 08:57:24
145
1
原创 Elaticsearch软删除
原文https://www.elastic.co/guide/en/elasticsearch/reference/7.x/index-modules-history-retention.htmlindex.soft_deletes.enabled
2020-09-28 14:44:54
555
原创 Elasticsearch 启动预热
https://www.elastic.co/guide/en/elasticsearch/reference/7.x/preload-data-to-file-system-cache.html
2020-09-28 14:00:57
1790
原创 Elasticsearch深入聚合数据分析
Elasticsearch深入聚合数据分析原文:https://www.jianshu.com/p/dc8190c2a1e7
2020-09-27 09:04:39
155
原创 golang 整数前置补0
package mainimport ( "fmt")func main() { a := 11 fmt.Println(a) //前置补0 fmt.Printf("%09d", a) //9位,不足前面凑0补齐 fmt.Println("") fmt.Printf("%0*d", 9, a) //同上}
2020-08-28 18:10:10
4188
原创 golang 根据时间范围获取顺序日期列表
golang 根据时间范围获取顺序日期列表package mainimport ( "fmt" "time")func Get_Time(start_time, stop_time string) (args []string) { tm1, _ := time.Parse("2006-01-02", start_time) tm2, _ := time.Parse("2006-01-02", stop_time) //fmt.Println(tm1.Unix(),tm2.Unix()
2020-08-28 17:42:36
1422
原创 阿里云公网部署Redis哨兵集群
因为部分核心业务需要实现双活的架构,原来架构也是使用redis哨兵集群,为了解决双活业务系统的数据共享问题,利用阿里云主机搭建了公网redis哨兵集群。同时考虑到官网的cluster模式需要的主机成本过高,没有选用。一、环境说明北京 2核4g 低配主机(根据自己业务评估数据量)深圳 2核4g杭州 2核4g三个区域创建独立的主机,vpc网络,安全组二、配置过程2.1 安全组配置1、三地安全组开通互访权限,针对IP点对点开放(一定要慎重,控制开放范围,redis一定要禁...
2020-07-01 18:50:46
543
原创 CentOS 7 systemd启动脚本管理
背景centos7后继承了redhat7 systemd启动管理服务,systemc替换了原理service服务提供了更加优秀的服务管理功能,也大幅提高了系统服务的运行效率。systemd的目标是:尽可能启动更少进程;尽可能将更多进程并行启动。 systemd尽可能减少对shell脚本的依赖。CentOS 7 的服务 systemctl 脚本存放在:/usr/lib/systemd/,有系统 system 和用户 user 之分, 即:/usr/lib/systemd/system..
2020-06-17 10:08:38
1039
原创 MySQL8 权限验证
MySQL 8改动8.0修改了默认验证方式,之前使用mysql_native_password插件,新版使用caching_sha2_password 验证插件两个插件并不兼容,使用8版本之后要留意验证问题。修改密码第一次登录后需要reset password才能操作create user 'appuser'@'%' identified with mysql_native_password by '123456.com';GRANT ALL PRIVILEGES ON *.* T.
2020-06-16 15:46:07
1001
原创 python3 logging日志切割
背景平时创建的项目或者脚本,运行时间久了难免会产生一堆日志或者日志文件很大。不记录日志怕出问题无从排查,记录日志又担心浪费空间,因此项目开发的时候就应该重视日志管理。下面介绍下使用python logging handlers模块管理日志的过程。安装python 自带模块,不用安装logging模块自带的两种日志切割管理方法RotatingFileHandlerlogging.handlers.RotatingFileHandler(filename, mode='a..
2020-06-16 15:19:58
2633
原创 Elasticsearch慢日志配置
背景前面整理过一遍正确重启Elasticsearch 集群的文章,作为一个运维重启能解决的问题那必然是首选解决方案。不过如果经常靠重启解决问题未必就太Low了,而且重启多了势必会掩盖一些问题,问题积累严重了,导致重大故障也不少见。所以想成长为一个有深度的攻城狮,首先要学会的技能就是分析问题。经验分享下面分享下平时分析问题的一些经验核心:状态数据 日志一、状态数据(这块不细说)这块侧重指监控层面的数据,包括 主机(cpu、内存、磁盘等) 网络 进程(cpu、...
2020-06-15 14:51:28
729
原创 Python HTTP调用request模块
requests是通过urllib3实现自动发送HTTP/1.1请求,它能轻松的实现cookies,登陆验证,代理设置等操作。使用request可以更加方便处理http请求,处理返回数据,支持text,json数据类型处理。模块安装环境python3+ centos7+pip install request调用格式:requests.request(method,url,**kwargs)构造并发送一个request,返回一个response对象参数:method: requ
2020-06-15 13:50:21
688
原创 MySQL 字节占用分析
MySQL表ID字段选择整型还是字符型?回答这个问题,先了解下整型跟字符型的存储MySQL字符类型类型 占用字节 表示范围 CHAR(M) 与字符集相关(单行不能超过65535个字节) 1 <= M <= 255 VARCHAR(M) 与字符集相关(单行不能超过65535个字节) 1 <= M <= 255 TINYBLOB, TINYTEXT L+1 字节 L< 2 ^ 8(255B) BLOB, T
2020-06-12 17:25:51
274
原创 Docker 部署kibana7.7.0 使用xpack监控ES集群
Elasticsearch Kibana 7版本之后已经默认安装了xpack,无需独立安装插件。一、拉取镜像docker pull kibana:7.7.0二、启动容器docker run --name kibana -p 5601:5601 -d kibana:7.7.0三、配置访问Elasticsearchdocker exec -it /bin/bashvi config/kibana.yml## ** THIS IS AN AUTO-GENERATED FI...
2020-06-12 16:11:17
1382
原创 Elasticsearch集群状态查看常用指令
cat api使用curl http://localhost:9200/_cat?help=^.^=/_cat/allocation/_cat/shards/_cat/shards/{index}/_cat/master/_cat/nodes/_cat/indices/_cat/indices/{index}/_cat/segments/_cat/segments/{index}/_cat/count/_cat/count/{index}/_cat/r
2020-06-12 13:51:27
832
原创 正确重启Elaticsearch集群姿势
遇到的问题 日常维护Elaticsearch集群,难免会遇到要重启节点甚至重启集群的时候,重启后经常遇到数据恢复缓慢,甚至恢复失败。之前不明白重启过程中集群在干嘛,为了快速恢复某个异常节点往往直接重启集群,导致搜索业务下线。观察到的现象节点异常后,集群开始迁移异常节点数据分片到其它正常的节点上面,尝试自动恢复集群。如果这时候节点上面的数据量比较大,恢复缓慢是必然的(需要从正常节点把数据完整的复制过去,非常消耗服务器资源)。如果这时候还有写入索引操作,往往会影响分片的分配恢复(...
2020-06-12 11:33:19
324
原创 ES 线程池(thread pool)
ES 线程池(thread pool)ES 中每个节点有多种线程池,各有用途。重要的有:generic :通用线程池,后台的 node discovery,上述的分片恢复(node recovery)等等一些通用后台的操作都会用到该线程池。该线程池线程数量默认为配置的处理器数量(processors)* 4,最小128,最大512。 index :index/delete 等索引操作会用到该线程池,包括自动创建索引等。默认线程数量为配置的处理器数量,默认队列大小:200. search :查询请
2020-06-11 18:20:05
1494
原创 Elasticsearch DSL结构化查询理解
结构化查询 Query DSL结构化查询是一种灵活的,多表现形式的查询语言。 Elasticsearch 在一个简单的JSON 接口中用结构化查询来展现 Lucene 绝大多数能力。 你应当在你的产品中采用这种方式进行查询。它使得你的查询更加灵活,精准,易于阅读并且易于 debug。结构化查询格式GET /_search{ "query": {查询体}, "from": 0, "size": 10}查询体:由一个或多个查询子句组成。查询子句#整个属于查.
2020-06-11 15:59:45
153
原创 Elaticsearch DSL query查询与filter过滤
查询与过滤 首先我们要明确查询和过滤各自的优缺点,以及适用场景。 一条过滤语句会询问每个文档的字段值是否包含着特定值,查询语句会询问每个文档的字段值与特定值的匹配程度如何。这一点较好区分,一条查询语句会计算每个文档与查询语句的相关性,会给出一个相关性评分 _score,并且 按照相关性对匹配到的文档进行排序。 这种评分方式非常适用于一个没有完全配置结果的全文本搜索。性能上的差异 使用过滤语句得到的结果集 -- 一个简单的文档列表,快速匹配运算并存入内存是...
2020-06-10 18:04:19
484
原创 Elaticsearch force merge操作
ES force_merge操作实践:根据ES的写入原理分析,默认每秒从memory buffer里面搬运数据到filesystem cache,生产一个segments段,由后台程序定期分梯队进行合并(该部分原理还没深入研究),不过从查看到的segments数量,大小来看,默认的合并效果并不好,会出现很多小segments没有合并。根据操作系统的原理,一个索引打开太多的文件,势必会影响性能,ES也开放了相应的接口给用户对这些segments经行手动合并。查看索引segments状态$ ..
2020-06-10 17:50:02
3519
原创 Elasticsearch SearchType区别
Elasticsearch在查询时,可以指定搜索类型为QUERY_THEN_FETCH QUERY_AND_FEATCH DFS_QUERY_THEN_FEATCH DFS_QUERY_AND_FEATCH。那么这4种搜索类型有什么区别?1、QUERY_AND_FEATCH向索引的所有分片(shard)都发出查询请求,各分片返回的时候把元素文档(document)和计算后的排名信息一起返回。这种搜索方式是最快的。因为相比下面的几种搜索方式,这种查询方法只需要去shard查询一次。但是各.
2020-06-09 14:41:54
183
原创 Elaticsearch7.7 模版管理_索引管理
一、背景Elasticsearch发展实在太快,半年前ELK部署的V6.5,现在已经出到V7.7X。为了适应时代的发展,部署了下7.7.0。做了下索引管理(之前这块并不重视,顺便学习记录下)学习内容:定义创建模版 修改模版 重建索引 新增索引别名起因:索引字段属性缺乏fielddata属性,无法做聚合查询。二、创建mapping模版curl -H "Content-Type: application/json" -XPUT http://172.25.2.203:9200.
2020-06-09 14:31:08
304
原创 Mysql innodb表针对主键选择的性能问题分析
Mysql innodb表针对主键选择的性能问题分析主键选择 (建议使用auto_increment 字段)1、Auto_increment 字段(并发插入出现表锁争用)2、趋势增量递增字段(性能最高)3、在innodb表中,并不是每个行记录都存有row ID,只有表定义没有主键时,才会使用rowid并作为主键。rowid的分配是全局的,所有的表都共享这个ID。(容易出现全局锁)4、随机UUID(磁盘随机写,性能差)无主键性能问题1、InnoDB维护一个全...
2020-06-03 11:15:23
253
原创 Logstash服务运行多实例
将logstash服务分离ELK集群部署的过程,在同一虚拟机上面运行多个logstash提示以下信息 Logstash could not be started because there is already another instance using the configured data directory. If you wish to run multiple instances, you must change the "path.data" setting ..
2020-06-01 13:57:08
1910
1
原创 Mysql Last_Errno: 1594 主从实例断电GTID同步修复
mysql5.6 GTID 同步模式起因:虚拟机磁盘脱盘,只读模式,主机修复重启后,从库无法同步主库,提示relay log读取到错误。解决思路:重置同步信息,重新读取主库binlog,重新写入从库记录从库最后同步信息show slave status\GRelay_Master_Log_File: mysql-binlog.000249Exec_Master_Log_Pos: 92240744Executed_Gtid_Set: 03b8b27c-f9b8-11e8-b9.
2020-05-28 15:32:56
432
原创 Elasticsearch冷热数据分离集群-离线数仓方案
大数据存储方案预研,使用elasticsearch集群进行海量数据存储,并根据数据生产时间进行冷热数据分离,解决数据存储问题并保证实时查询的效率。参考架构:3.1部署规划(虚拟机搭建) 节点 服务部署 磁盘类型 Jvm内存分配 Master1(2核4G) Elasticsearch SATA 4G ...
2020-05-27 17:51:58
575
原创 MYSQL index_merge导致的死锁分析
MYSQL index_merge导致的死锁分析案例来源:https://yq.aliyun.com/articles/8963/昨天一同事发现线上系统在并发更新的时候出现了死锁,通过排查定位于update更新使用了两个索引导致,死锁信息如下:*** (1) TRANSACTION:TRANSACTION 29285454235, ACTIVE 0.001 sec fetching rowsmysql tables in use 3, locked 3LOCK WAIT 6 lo.
2020-05-27 15:33:17
264
原创 MySQL 行溢出分析
MySQL 对一条记录占用的最大储存空间是有限制的,除了 BLOB 和 TEXT 类型之外,其他所有列 (不包括隐藏列和记录头信息) 占用的字节长度不能超过 65535 个字节,当记录长度超过限制时,MySQL 会建议使用 TEXT 或 BLOB 类型。innodb_page_size,这个的默认值是16K,每个page两行数据,所以每行最大8k数据。InnoDB Buffer Pool管理页面本身也有代价,Page数越多,那么相同大小下,管理链表就越长。因此当我们的数据行本身就比较长(大块插.
2020-05-27 15:04:38
415
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人