Elasticsearch 增加刪除 Cluster 節點時要做的 Index Shard Allocation

栏目: 后端 · 发布时间: 6年前

内容简介:最近把公司的 Elasticsearch Cluster 加了一台 Cluster Node,準備應戰更大量的 Data Query,但是加完之後發現 Index shard 沒有很平均的分散在新的 Cluster Node … :(原本我的 Elasticsearch Cluster 有 2 台,加到第 3 台後開始不平均 …在同事強力的協助下發現如果要新增移除 Cluster Node 都必須調整 Index Shard Allocation,詳細可以參考 elastic 官方「

最近把公司的 Elasticsearch Cluster 加了一台 Cluster Node,準備應戰更大量的 Data Query,但是加完之後發現 Index shard 沒有很平均的分散在新的 Cluster Node … :(

原本我的 Elasticsearch Cluster 有 2 台,加到第 3 台後開始不平均 …

在同事強力的協助下發現如果要新增移除 Cluster Node 都必須調整 Index Shard Allocation,詳細可以參考 elastic 官方「 Cluster level shard allocation 」文件

主要影響的參數有

  • cluster.routing.allocation.balance.shard 每個節點分配 shard 的權重,預設為 0.45f
  • cluster.routing.allocation.balance.index 每個節點分配 index 的權重,預設為 0.55f
  • cluster.routing.allocation.balance.threshold 分配優化值,數字越大越不平均,預設 1.0f

預設的 index、shard 權重大概就僅適合 2 台 Cluster 分配,所以當第三台出現的時候就開始不平均了,可以透過設定 elasticsearch.yml 用 API 來讓 index / shard balance。

以 3 台來說,每台平均分配大約就是 0.3

curl -XPUT -H 'Content-Type: application/json' http://127.0.0.1:9200/_cluster/settings -d '{
"transient" : {
  "cluster.routing.allocation.balance.shard" : 0.33,
  "cluster.routing.allocation.balance.index" : 0.33,
  "cluster.routing.allocation.balance.threshold" : 1.0}}'

或是寫在 elasticsearch.yml

cluster:
  routing:
    allocation
      balance
        shard: 0.33
        index: 0.33
        threshold: 1.0

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

网站分析实战

网站分析实战

王彦平 吴盛峰 / 电子工业出版社 / 2013-1 / 59.00元

《网站分析实战:如何以数据驱动决策,提升网站价值》由王彦平、吴盛峰著。目前,越来越多的网站开始重视数据,并期望从中发现新的机会,不管你是做网络营销、互联网产品设计、电子商务运营、个人站点运营维护,我们都希望从数据中寻找有价值的结论,并且指导公司管理层的决策,最终创造更大的网站价值。《网站分析实战:如何以数据驱动决策,提升网站价值》以通俗易懂的方式来讲解网站分析所需掌握的知识,剖析日常工作中遇到的问......一起来看看 《网站分析实战》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具