导图社区 ElasticSearch分片分配问题论断
ElasticSearch分片分配问题解决思路,分析手段相关
给ES团队的运维路线图, 包括基础运维,运营,架构优化
ElasticSearch 集群运维常用变红,变黄情况处理流程
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
ElasticSearch 分片分配问题诊断
ES 官方推荐规划
对于分片数的大小,业界一致认为分片数的多少与内存挂钩,认为 1GB 堆内存对应 20-25 个分片。因此,具有30GB堆的节点最多应有600个分片,但是越低于此限制,您可以使其越好
日志类, 单分片不大于50G
分片小有助于节点丢失后更快的rebalancing
从Elasticsearch v7.0.0 开始,集群中的每个节点默认限制 1000 个shard,
运维问题
一个节点有多少个shards
curl --user $password -XGET $ip_addr/_cat/allocation?h=node,shards,disk.used,disk.total
主shards数量
shard数量问题
ElasticSearch的不可变性(Immutable)的限制,系统无法对Shard进行重新拆分分配
单节点不超过2个shards(即但ssd , 不推荐单节点超过两个shards
ssd 理想的情况, 单节点最多2shard, 3节点预设6shard , 这可以支持未来轻松扩展到6个节点
shards概念原理
每个分片本质上是Lucene索引,因此会消耗文件句柄,内存和CPU资源
性能极限模型---每个节点一个shards性能最优
每个搜索请求都将触摸索引中每个分片的副本,当分片分布在多个节点上时,这不是问题。当分片争夺相同的硬件资源时,就会出现争用并且性能会下降。
replica shard
replica只会参与读操作,同时也能提高集群的可用性。
replica的数目可以在集群建立之后变更,切代价较小
子主题
我们始终建议生产集群具有2个副本以进行故障转移。
处理手段
临时提高阈值
curl -X PUT "dev-jaeger-es01.bj:9200/_cluster/settings" -H 'Content-Type: application/json' -d' { "persistent" : { "cluster.max_shards_per_node" : "5000" } }