Elasticsearch入门学习三)

  |   0 评论   |   0 浏览

官方文档:https://www.elastic.co/guide/cn/elasticsearch/guide/current/getting-started.html

以下内容摘抄自官方文档

基础知识

当一个节点被选举成为 节点时,它将负责管理集群范围内的所有变更;

例如 增加、删除索引,或者增加、删除节点等。而主节点并不需要涉及到文档级别的变更和搜索等操作

这里有个问题:当集群中只有一个节点时,这个节点是主节点,那么涉及到文档级别的变更和搜索等操作就不能进行了? 事实并非如此。

所以当集群只拥有一个主节点的情况下,即使流量的增加它也不会成为瓶颈。

任何节点都可以成为主节点。

  • 集群健康状态
    • green: 所有的主分片 和 副本分片 都正常运行
    • yellow:所有的主分片都正常运行,但不是所有的副本分片都正常运行
    • red:有主分片没能正常运行

ES性能优化策略

文章地址:

1、elasticsearch 的配置文件中有两个参数:node.master 和 node.data。这两个参数搭配使用时,能够帮助提供服务器性能

  • node.master: falsenode.data: true
    该es节点只作为一个数据节点,只用于存储索引数据。使该 es节点 功能单一,只用于数据存储和数据查询,降低其资源消耗率
  • node.master: truenode.data: false
    该 es 节点 服务器只作为一个主节点,但不存储任何索引数据。该 es 服务器将使用自身空闲的资源,来协调各种创建所以请求或者查询请求,将这些请求合理分发到相关节点服务器上。(作为协调者)
  • node.master: falsenode.data: false
    该 es 节点服务器 不会被选作 主节点(协调节点),也不会存储任何索引数据。该服务器主要用于查询负载均衡。在查询的时候,通常会涉及到从多个 node 服务器上查询数据,并请求分发到多个指定的node服务器,并对各个node服务器返回的结果进行一个汇总处理,最终返回客户端。(负载均衡器)

2、关闭 es 数据节点服务器 中的 http功能

  • 针对 elasticsearch 集群中的所有数据节点,不用开启 http 服务。将其中的配置参数这样设置http.enabled: false ,同时也不要安装head、bigdesk、marvel 等监控插件,这样保证 data 节点服务器只需处理 创建、更新、删除、查询索引数据等操作
  • http 功能可以在非数据节点服务器上开启,上述相关的监控插件也安装到这些服务器上,用于监控 elasticsearch 集群状态等数据信息

3、分片的数量

基于索引分片数=数据总量/单分片数

分片(Shard):一个索引会分成多个分片存储,分片数量在索引建立后不可更改, 推荐【分片数*副本数=集群数量】

ElasticSearch在创建索引数据时,最好指定相关的shards数量和replicas, 否则会使用服务器中的默认配置参数 shards=5,replicas=1

因为这两个属性的设置直接影响集群中索引和搜索操作的执行。假设你有足够的机器来持有碎片和副本,那么可以按如下规则设置这两个值:

  1. 拥有更多的碎片可以提升索引执行能力,并允许通过机器分发一个大型的索引;
  2. 拥有更多的副本能够提升搜索执行能力以及集群能力。

对于一个索引来说,number_of_shards只能设置一次,而number_of_replicas可以使用索引更新设置API在任何时候被增加或者减少。

这两个配置参数在配置文件的配置如下:

index.number_of_shards: 5 number_of_replicas: 1

Elastic官方文档建议:一个Node中一个索引最好不要多于三个shards.配置total_shards_per_node参数,限制每个index每个节点最多分配多少个发片.

作者:jacksu在简书
链接:https://www.jianshu.com/p/b4eda49583b5
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

集群示例

数据节点:2 -> 2T

主节点: 3 -> 20G

协调节点:5 -> 20G


标题:Elasticsearch入门学习三)
作者:gitsilence
地址:https://blog.lacknb.cn/articles/2021/11/07/1636299897869.html