【ES实战】ES集群节点迁移与缩容补充说明

【ES实战】ES集群节点迁移与缩容补充说明

【ES实战】ES集群节点迁移与缩容

文章目录

    • 【ES实战】ES集群节点迁移与缩容补充说明
      • 1、集群的现状分析和集群的规划
      • 2、集群健康关注点,变化关注点
      • 3、集群的可缩容实例个数
      • 4、监控指标说明

1、集群的现状分析和集群的规划

(新机器部署安装角色不知道排的是否正确?)

  • 确认目前的部署方式
    • 确认项
      • master与data实例是否分离部署
      • 单机器是否部署了多个data角色实例
      • 确认服务器存储使用情况
    • 确认方式:可以通过GET _cat/nodes?v&s=ip命令和GET _cat/indices?v&s=store.size:desc命令结果来确认。
      • node.rolemdi代表masterdata未分离
      • node.rolemi代表master角色不包含data
      • node.roledi代表data角色不包含master
      • 同一个IP下出现多个包含d的代表,同一台机器下部署了多个data实例。
      • store.size代表目前主分片和副本分片一共占的存储大小。
  • 新的部署要求
    1. 若不是完全替换集群中所有的机器,则端口号与之前保持一致。
    2. master与data实例分离部署,一台机器上可以部署一个data实例和一个master。
    3. 若集群原来采用的是单机部署多个data实例,则新扩容的机器上也可以部署多个data实例
    4. 若集群未采用单机多data实例部署,则不进行单机多data实例部署。
    5. 若单机需要部署1个master+2个data实例,则服务器最低配置需要20C 128G。存储按实际情况来。

2、集群健康关注点,变化关注点

(扩容,迁移后重点关注查看哪些项?)

通过命令来查询集群的健康情况和节点实例情况

  • GET _cat/health?v:查询集群健康情况,status 值可以为green,yellow,red三种。

    • green:集群上所有索引的主分片和副本分片全部属于正常状态。
    • yellow:集群上所有索引的主分片均已正常,还存在部分副本分片为正常。
    • red:集群上存在部分主分片不正常。

    对于索引分片未正常的情况,可以参考:【ES实战】分片无法分配

  • GET _cat/nodes?v&s=ip:查询集群上节点实例的情况,检查对应的实例是否已经正确加入集群。角色(node.role)是否正确。

  • GET _cat/shards?v&s=state,ip,index:查询集群上索引分片的情况。检查集群分片的迁移情况,state不为STARTED,均需要关注。

    对于数据迁移可以参考:【ES实战】节点数据的清空

    对于索引分片无法正常的情况,可以参考:【ES实战】分片无法分配

3、集群的可缩容实例个数

(用户上报的缩容数字和预操作数不匹配的时候不知道如何处理)

  • 通过排除节点数据且不下节点的方式,将数据集中在某个数量的ES实例中,通过监控,存储,集群未发生故障,排除的节点数量代表集群目前实际可以缩容的机器数。
  • 因为集群健康度导致的资源浪费(无法正常缩容的),需要对业务对集群进行治理。治理方向主要为大分片,无用索引,无效数据生命周期等等。
  • 对于为达到最小化部署标准(3台机器),可以尝试与用户沟通进行缩容。
  • 通过告警寻找故障率较高的机器,优先缩容和替换。

4、监控指标说明

(查看集群情况promes的时候重点关注哪些项?)

  • 集群层面

    • 集群状态(cluster status)
    • 节点数(nodes)
    • 待执行任务数(pending tasks)
    • 索引个数(indices)
    • 总存储(Size)
    • 分片数(total shards)
    • 未分配分片(unassigned)
    • 正在初始化分片(initializing)
    • 正在迁移的分片(relocating)
  • 节点层面

    • 读、写、删除的tps、延迟,包括各节点的最小值、最大值、均值、当前值
    • 各节点的监控指标:cpu使用率(CPU utilization),节点负载(load average),节点内存使用(Memory useage),磁盘使用率(Disk of path usage)
    • heap使用内存(heap used)进程启动内存为31G、GC次数(GC count)、GC耗时(GC time)
    • 读、写线程的情况,rejected属性的线程数量,只增不减(重启实例重置),不一定代表当前的最大值,可代表历史最大值
      • 写数据线程:bulk线程池活跃线程数(bulk active)、index 线程池活跃线程数(index active)、bulk线程池排队的任务数(bulk queue)、index线程池排队的任务数(index queue)、拒绝的bulk任务数(bulk rejected)、拒绝的index任务数(index rejected)
      • 读数据线程:search线程池活跃线程数(search active)、get线程池活跃线程数(get active)、search线程池排队的任务数(search queue)、get线程池排队的任务数(get queue)、拒绝的search任务数(search rejected)、拒绝的get任务数(get rejected)
  • 索引层面

    • 索引主分片数(index primary shards)
    • 索引的副本数(index replicas)
    • 索引存储大小(Index Size)
    • 索引segment个数(Segment Count)
    • *索引segment占用内存(Segment Memory)
    • 索引写tps(Index Rate)
    • 索引读tps(Search Rate)
    • 索引refresh频率(Refresh Rate)
    • 索引Flush频率(Flush Rate)
    • 索引删除文档数(Document deleted count)
    • 索引Translog大小(transLog size)

你可能感兴趣的:(Elastic实战,elasticsearch,服务器,运维)