elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)

开启并配置X-Pack的认证和授权

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第1张图片
第三步是修改kibana.yml文件,将elasticsearch.username, elasticsearch.password,修改为kibana使用的账号和密码,配置完这步,打开kibana还是提示登录,还是需要输入账号和密码的,所以可以理解为该配置只是kibana程序自身使用,实际登录还需使用其他账户。

Elasticsearch常见的集群部署方式

  • 不同角色的节点

Master eligible, Data, Ingest, Coordinating, Machine Learning

  • 在生产环境中,根据数据量,写入和查询的吞吐量,选择合适的部署方式,建议设置单一角色的节点。

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第2张图片
image.png

各个单一角色考虑的配置

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第3张图片
image.png
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SDX2gYGO-1627222714254)(https://cdn.nlark.com/yuque/0/2021/png/12674217/1627083581172-7b4e7c32-9c40-4e26-86b0-9ad6c1a67ec2.png#align=left&display=inline&height=421&originHeight=421&originWidth=649&size=64872&status=done&style=none&width=649)]

部署策略

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第4张图片

Hot Warm架构

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第5张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第6张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第7张图片

配置Hot & Warm Architecture

  1. 标记节点

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第8张图片

  1. 配置Hot数据

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第9张图片

  1. 旧数据迁移到Warm节点,当发现索引不再更新,将索引迁移到Warm节点上

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第10张图片

Rack Awareness

通过Rack Awareness的机制,可以尽可能避免将同一个索引的主副分片同时分配在一个机架节点上。
image.png

分片的设计与管理

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第11张图片

  • 分片过多带来的副作用

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第12张图片

  • 如何确定主分片数

image.png

  • 如何确定副本分片数

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第13张图片

  • 调整分片总数设定,避免分配不均衡

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第14张图片

如何对集群进行容量规划

image.png
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第15张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第16张图片

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第17张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第18张图片

容量规划案例

  • 案例一,搜索类型

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第19张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第20张图片

  • 案例二,日志类型数据

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第21张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第22张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第23张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第24张图片

集群扩容

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第25张图片

生产环境常用配置和上线清单

  • elasticsearch支持development和production模式,是通过http.host和bind_host字段判断是哪种模式的。

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第26张图片

  • 运行在production模式的bootstrapChecks

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第27张图片

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第28张图片
image.png
image.png
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第29张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第30张图片

image.png
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第31张图片

集群的写入性能优化

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第32张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第33张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第34张图片

  • 高质量建模回顾

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第35张图片

  • 极致性能取舍

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第36张图片

  • elasticsearch写入数据的过程

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第37张图片

  • refreshInterval调参逻辑

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第38张图片
refresh Interval控制着buffer生成segment(lucene索引的存储文件)的频率,所以增大refreshInterval会降低搜索的实时性,但是可以增加写入性能,因为segment变少了,IO也少了,更多的是在内存操作了。

  • Translog调参逻辑

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第39张图片
translog类似于InnoDB的redolog

  • 分片设定调参逻辑

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第40张图片

  • Bulk,线程池和队列大小调参逻辑

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第41张图片

  • 一个索引设定的例子

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第42张图片

集群读性能优化

  • 尽可能地使用反范式,从而获得最佳性能

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第43张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第44张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第45张图片
使用Filter利用上elasticsearch的cache
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第46张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第47张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第48张图片

诊断集群潜在问题

  • 集群诊断的维度

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第49张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第50张图片

解决集群Yellow与Red的问题

红: 至少有一个主分片没有分配; 黄: 至少有一个副本没有分配; 绿: 主副本分片全部正常分配;

  • 集群健康度API

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第51张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第52张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第53张图片

  • rerouteAPI将分片移动到另一个节点上

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第54张图片

段合并优化

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第55张图片

  • Merge优化

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第56张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第57张图片

  • Force Merge

image.png

缓存及使用Circuit Breaker限制内存使用

  • es缓存分类

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第58张图片

  • Node Query Cache

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第59张图片

  • Shard Request Cache

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第60张图片

  • Fielddata Cache

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第61张图片

  • 缓存何时失效

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第62张图片

  • 管理内存的重要性

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第63张图片

  • es内存状况API

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第64张图片

  • elasticsearch 的内存问题案例

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第65张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第66张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第67张图片

  • es提供了断路器,防止es节点OOM

监控es集群

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第68张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第69张图片
设置慢查询语句阈值
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第70张图片

Full Restart的步骤

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第71张图片

运维常用的命令

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第72张图片

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第73张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第74张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第75张图片
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第76张图片

使用Shrink与Rollover API管理索引

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第77张图片

  • 使用Rollover API,使得满足一定条件,alias指向一个新的索引

image.png
rolloverAPI只会将alias指向一个新的索引。这意味着,如果不触发rollover,数据一直都是往当前alias对应的索引写入,直到触发了rollover API,将alias指向新的索引。

  • 配置alias在rollover时保留旧索引,即alias读取时指向的的是一批索引,但是写入时指向的最新的索引

image.png

索引全生命周期管理

elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第78张图片

这些生命周期的管理,需要自动化支持,es官方有一个elasticsearch Curator,这里只是告诉有这么一个工具,具体如何使用仍需要查看文档
elasticsearch认证,节点部署,容量规划,性能优化--《elasticsearch核心技术与实战》笔记(三)_第79张图片

你可能感兴趣的:(elasticsearch,java,elasticsearch,数据库)