今天早上,我们收到警告,4个节点的Elasticsearch集群中的一些机器的磁盘空间不足。我们使用5个分片,单个复制。
status report显示的索引大小与我们看到的磁盘使用情况一致。然而,令人困惑的是,对于分片2和4,复制的分片非常不合适。我知道分片大小可以在副本之间变化;但是我们看到的尺寸差异是巨大的:
"shards": {
...
"2": [
{
"routing": {
"state": "STARTED",
"primary": true,
"node": "LV__Sh-vToyTcuuxwnZaAg",
"relocating_node": null,
"shard": 2,
"index": "eventdata"
},
"state": "STARTED",
"index": {
"size_in_bytes": 87706293809
},
......
},
{
"routing": {
"state": "STARTED",
"primary": false,
"node": "U7eYVll7ToWS9lPkyhql6g",
"relocating_node": null,
"shard": 2,
"index": "eventdata"
},
"state": "STARTED",
"index": {
"size_in_bytes": 42652984946
},
一些有趣的数据点:
为什么我们看到索引的数量是我们集群中副本大小的两倍?合并?还有其他原因吗?