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