Coin163

首页 > elasticsearch手动控制分片分布

elasticsearch手动控制分片分布

2020腾讯云双十一活动,全年最低!!!(领取3500元代金券),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1073

2020阿里云最低价产品入口,含代金券(新老用户有优惠),
入口地址https://www.aliyun.com/minisite/goods

elasticsearch可以通过reroute api来手动进行索引分片的分配。 不过要想完全手动,必须先把cluster.routing.allocation.disable_allocation参数设置为true,禁止es进行自动索引分片分配,否则你从一节点把分片移到另外一个节点,那么另外一个节点的一个分片又会移到那个节点。   一共有三种操作,分别为:移动(move),取消(cancel)和分配(allocate)。下面分别介绍这三种情况: 移动(move) 把分片从一节点移动到另一个节点。可以指定索引名和分片号。 取消(cancel) 取消分配一个分片。可以指定索引名和分片号。node参数可以指定在那个节点取消正在分配的分片。allow_primary参数支持取消分配主分片。 分配(allocate) 分配一个未分配的分片到指定节点。可以指定索引名和分片号。node参数指定分配到那个节点。allow_primary参数可以强制分配主分片,不过这样可能导致数据丢失。 下面是个简单的例子: curl -XPOST 'localhost:9200/_cluster/reroute' -d '{      "commands" : [ {          "move" :              {                "index" : "test" , "shard" : 0 ,                "from_node" : "node1" , "to_node" : "node2"              }          },         "cancel" :              {                "index" : "test" , "shard" : 0 , "node" : "node1"              }          },          {            "allocate" : {                "index" : "test" , "shard" : 1 , "node" : "node3"            }          }      ] }'   本文地址: http://www.searchtech.pro/elasticsearch-manual-allocate-shard

原文

elasticsearch可以通过reroute api来手动进行索引分片的分配。 不过要想完全手动,必须先把cluster.routing.allocation.disable_allocation参数设置为true,禁止es进行自动索引分片分配, 否则

------分隔线----------------------------