如何在具有不同碎片数量的索引的elasticsearch上实现负载的均匀分布?

bq9c1y66  于 2021-06-13  发布在  ElasticSearch
关注(0)|答案(1)|浏览(305)

我们正在研究如何利用es集群解决一些性能问题。我们在调查数据节点上的碎片分布。我知道有一个建议是让碎片均匀分布在节点之间——我的问题是:
对于具有8个数据节点的集群-我们有一些索引,其中包含2个主碎片和3个副本(总共8个碎片)。我们还有一些索引有1个主碎片和3个副本(总共4个)。
我的问题是-设置是否可以考虑“均匀分布”?我们认为不是这样的,我们正在考虑使用1个主碎片-7个副本的索引(因此每个索引将托管在8个节点上)-但是我们不知道这样的设置是否有意义?如果没有-你会推荐什么来代替更均匀地分配碎片?
以下是shard cat查询的结果:

id1     0 p STARTED  2138  16.1mb x.x.x.x node1
id1     0 r STARTED  2138  16.1mb x.x.x.x node2
id1     0 r STARTED  2138  16.1mb x.x.x.x node3
id1     0 r STARTED  2138  16.1mb x.x.x.x node4
id2     0 r STARTED  3379  26.8mb x.x.x.x node5
id2     0 r STARTED  3379  26.8mb x.x.x.x node3
id2     0 r STARTED  3379  26.8mb x.x.x.x node4
id2     0 p STARTED  3379  26.8mb x.x.x.x node6
id3     0 r STARTED 20086  76.1mb x.x.x.x node1
id3     0 r STARTED 20086  76.1mb x.x.x.x node5
id3     0 p STARTED 20086  76.1mb x.x.x.x node6
id3     0 r STARTED 20086  76.1mb x.x.x.x node7
id4     0 r STARTED  2754   7.3mb x.x.x.x node2
id4     0 r STARTED  2754   7.3mb x.x.x.x node3
id4     0 r STARTED  2754   7.3mb x.x.x.x node8
id4     0 p STARTED  2754   7.3mb x.x.x.x node7
id5     0 r STARTED 10239  42.3mb x.x.x.x node1
id5     0 p STARTED 10239  42.3mb x.x.x.x node4
id5     0 r STARTED 10239  42.3mb x.x.x.x node6
id5     0 r STARTED 10239  42.3mb x.x.x.x node8
id6     0 r STARTED 13388  42.4mb x.x.x.x node1
id6     0 p STARTED 13388  42.4mb x.x.x.x node5
id6     0 r STARTED 13388  42.4mb x.x.x.x node3
id6     0 r STARTED 13388  42.4mb x.x.x.x node8
id7     1 r STARTED 27483 136.2mb x.x.x.x node2
id7     1 r STARTED 27483 136.2mb x.x.x.x node3
id7     1 r STARTED 27483 136.3mb x.x.x.x node8
id7     1 p STARTED 27483 136.2mb x.x.x.x node7
id7     0 r STARTED 27189 146.5mb x.x.x.x node1
id7     0 p STARTED 27189 146.6mb x.x.x.x node5
id7     0 r STARTED 27189 146.6mb x.x.x.x node4
id7     0 r STARTED 27189 146.7mb x.x.x.x node6
.kibana 0 r STARTED    13 106.8kb x.x.x.x node2
.kibana 0 p STARTED    13 106.8kb x.x.x.x node3
id8     1 r STARTED 13555  80.8mb x.x.x.x node2
id8     1 r STARTED 13555  80.8mb x.x.x.x node4
id8     1 r STARTED 13555  80.8mb x.x.x.x node8
id8     1 p STARTED 13555  80.8mb x.x.x.x node7
id8     0 r STARTED 13390    63mb x.x.x.x node1
id8     0 p STARTED 13390  62.7mb x.x.x.x node5
id8     0 r STARTED 13390  62.7mb x.x.x.x node6
id8     0 r STARTED 13390  62.8mb x.x.x.x node7
wvmv3b1j

wvmv3b1j1#

由于各种原因,在所有es数据节点上为每个索引分发所有碎片是没有意义的,请参阅opster的碎片和副本以获取更多信息。
主碎片的数量应该根据它们的大小来选择,并帮助您水平缩放索引。
副本碎片的数量有助于提高可用性和搜索性能。
在es集群中很难实现完美的碎片平衡(基于大量碎片、大小和流量),尽管基于你的碎片大小非常小(小于100mb),你可以使用1个碎片和7个副本作为所有索引,说到这里,您需要根据集群设置和用例进行基准测试并选择正确数量的碎片和副本。

相关问题