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

jazon@ jazon@     2022-12-12     201

关键词:

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


第三步是修改kibana.yml文件,将elasticsearch.username, elasticsearch.password,修改为kibana使用的账号和密码,配置完这步,打开kibana还是提示登录,还是需要输入账号和密码的,所以可以理解为该配置只是kibana程序自身使用,实际登录还需使用其他账户。

Elasticsearch常见的集群部署方式

  • 不同角色的节点

Master eligible, Data, Ingest, Coordinating, Machine Learning

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


各个单一角色考虑的配置



[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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)]

部署策略

Hot Warm架构



配置Hot & Warm Architecture

  1. 标记节点

  1. 配置Hot数据

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

Rack Awareness

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

分片的设计与管理

  • 分片过多带来的副作用

  • 如何确定主分片数

  • 如何确定副本分片数

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

如何对集群进行容量规划




容量规划案例

  • 案例一,搜索类型


  • 案例二,日志类型数据




集群扩容

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

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

  • 运行在production模式的bootstrapChecks






集群的写入性能优化



  • 高质量建模回顾

  • 极致性能取舍

  • elasticsearch写入数据的过程

  • refreshInterval调参逻辑


refresh Interval控制着buffer生成segment(lucene索引的存储文件)的频率,所以增大refreshInterval会降低搜索的实时性,但是可以增加写入性能,因为segment变少了,IO也少了,更多的是在内存操作了。

  • Translog调参逻辑


translog类似于InnoDB的redolog

  • 分片设定调参逻辑

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

  • 一个索引设定的例子

集群读性能优化

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




使用Filter利用上elasticsearch的cache


诊断集群潜在问题

  • 集群诊断的维度


解决集群Yellow与Red的问题

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

  • 集群健康度API



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

段合并优化

  • Merge优化


  • Force Merge

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

  • es缓存分类

  • Node Query Cache

  • Shard Request Cache

  • Fielddata Cache

  • 缓存何时失效

  • 管理内存的重要性

  • es内存状况API

  • elasticsearch 的内存问题案例



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

监控es集群



设置慢查询语句阈值

Full Restart的步骤

运维常用的命令




使用Shrink与Rollover API管理索引

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


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

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

索引全生命周期管理

这些生命周期的管理,需要自动化支持,es官方有一个elasticsearch Curator,这里只是告诉有这么一个工具,具体如何使用仍需要查看文档

elasticsearch的安装部署(代码片段)

https://blog.csdn.net/lubin2016/article/details/81606753 1.elasticsearch的安装1.1集群规划上传elasticsearch的tar.gz包至规划的集群各节点的目录下(规划两个节点rc-fhcb-10-es001,rc-fhcb-10-es002),如:本项目安装在/opt/fhcb/目录下注意:建议elasticse 查看详情

elasticsearch性能优化干货

...针对目标数据量反推节点多少。1.2要留出容量Buffer注意:Elasticsearch有三个警戒水位线,磁盘使用率达到85%、90%、95%。不同警戒水位线会有不同的应急处理策略。这点,磁盘容量选型中要规划在内。控制在8 查看详情

efk教程-es集群开启用户认证(代码片段)

...证作者:“发颠的小狼”,欢迎转载目录?用途?关闭服务?elasticsearch-修改elasticsearch.yml配置?elasticsearch-开启服务?elasticsearch-建立本地内置用户?kibana-创建私钥库?kibana-WEB界面确认用户?filebeat-在WEB界面创建角色及用户?filebeat-服务器... 查看详情

elasticsearch7.16.2单机部署及密码认证(代码片段)

elasticsearch7.16.2单机部署及密码认证一、部署前准备1、ulimit调优二、部署ES单机一、部署前准备1、ulimit调优可以使用ulimit-n查看当前设置的用户可以打开文件的最大数目,默认是1024,不修改ES启动时会报错代表针对所有用... 查看详情

单节点部署gpmall(代码片段)

...装基础服务3.3.1安装Java环境3.3.2安装Redis缓存服务3.3.3安装Elasticsearch服务3.3.4安装Nginx服务3.3.5安装Mariadb服务3.3.6安装ZooKeeper服务3.3.7安装Kafka服务3.4启动服务3.4.1启动数据库并配置3.4.2启动Redis服务3.4.3配置Elasticsearch服务并启动3.4.4... 查看详情

谈一谈elasticsearch的集群部署

??Elasticsearch天生就支持分布式部署,通过集群部署可以提高系统的可用性。本文重点谈一谈Elasticsearch的集群节点相关问题,搞清楚这些是进行Elasticsearch集群部署和拓扑结构设计的前提。关于如何配置集群的配置文件不会在本文... 查看详情

《elasticsearch源码解析与优化实战》第21章:综合应用实践(代码片段)

文章目录简介集群层规划集群规模单节点还是多节点部署移除节点独立部署主节点节点层控制线程池的队列大小为系统cache保留一半物理内存系统层关闭swap配置LinuxOOMKiller优化内核参数索引层使用全局模板索引轮转避免热索引分... 查看详情

《elasticsearch源码解析与优化实战》第21章:综合应用实践(代码片段)

文章目录简介集群层规划集群规模单节点还是多节点部署移除节点独立部署主节点节点层控制线程池的队列大小为系统cache保留一半物理内存系统层关闭swap配置LinuxOOMKiller优化内核参数索引层使用全局模板索引轮转避免热索引分... 查看详情

elasticsearch8集群安装部署使用

参考技术A创建账号、环境变量设置、系统文件数限制等与单机版一致,单机版演示过xpack.security.http.ssl.enabled:true,使用了自签证书,在此集群环境中设置为false。只演示集群中的通信使用自签证书,首先xpack.security.enabled:true仍需... 查看详情

elasticsearch集群部署

Elasticsearch是一个分布式的RESTful风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为ElasticStack的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。资源准备:由于资源有限,准备两个节点,有... 查看详情

谈一谈elasticsearch的集群部署(代码片段)

  Elasticsearch天生就支持分布式部署,通过集群部署可以提高系统的可用性。本文重点谈一谈Elasticsearch的集群节点相关问题,搞清楚这些是进行Elasticsearch集群部署和拓扑结构设计的前提。关于如何配置集群的配置文件... 查看详情

centos7下部署elasticsearch集群

OS:Centos7x虚拟机1H2Gjdk:1.8elasticsearch:5.6.0单节点配置请参考:centos7下elasticSearch安装配置配置master节点#在配置文件的最后加上下面的配置#集群的名字cluster.name:snsprj#节点的名字node.name:master#是否是master节点node.master:true配置slave节点#... 查看详情

elasticsearch7.8.0版本环境——集群部署(win10系统)

目录一、Elasticsearch7.8.0版本官网下载步骤二、部署集群步骤2.1、复制三个elasticsearch服务2.2、修改每个服务的elasticsearch.yml配置文件三、启动集群步骤四、测试集群步骤4.1、查看各节点集群状态4.2、节点集群状态返回的status属性解... 查看详情

elasticsearch常见的集群部署方式

参考技术A在开发环境,一个节点可以承担多种角色;生产环境中,需要根据数据量,写入和查询的吞吐量,选择合适的部署方式,建议设置单一角色的节点(dedicatednode);一个节点在默认情况下会同时扮演:MasterNode,DataNode和Ing... 查看详情

elasticsearch5.0集群部署及故障测试

...http://hnr520.blog.51cto.com/4484939/18670331.修改配置文件cat elasticsearch.ymlcluster.name: hnrt 查看详情

日志分析系统elk之elasticsearch(代码片段)

Elasticsearch什么是ELKElasticsearchElasticsearch基础模块elasticsearch应用场景Elasticsearch单节点部署Elasticsearch集群的部署集群简介elasticsearch节点角色集群部署可视化工具cerebro可视化工具elasticsearch-head插件索引、分片和副本Elasticsearch节点优... 查看详情

日志分析系统elk之elasticsearch(代码片段)

Elasticsearch什么是ELKElasticsearchElasticsearch基础模块elasticsearch应用场景Elasticsearch单节点部署Elasticsearch集群的部署集群简介elasticsearch节点角色集群部署可视化工具cerebro可视化工具elasticsearch-head插件索引、分片和副本Elasticsearch节点优... 查看详情

elasticsearch——windows下es集群部署&linux下es单节点集群部署(代码片段)

...要是说一下windows下部署ES集群、Linux下单节点部署。单台Elasticsearch服务器提供服务,往往都有最大的负载能力,超过这个阈值,服务器性能就会大大降低甚至不可用,所以生产环境中,一般都是运行在指定服... 查看详情