版本7.16.2冷节点已经达到设置的每节点最大碎片限制,但是热节点和暖节点远离该限制。有一个问题,在此之前,应用程序无法将日志写入ES,因此在此期间数据丢失。我还没有检查热节点是否达到最大分片限制,但我们得到了“最大分片打开”错误我很好奇,如果冷节点达到极限,而热节点有可用的空间,将阻止写。
7.16.2
olqngx591#
当只有冷节点达到限制时,数据应该正常。如果我理解正确的话,它将在ILM allocate阶段失败。由于所有的write请求都应该首先到达热节点,在冷节点被分片限制阻塞期间,ILM过程应该在一些等待/失败阶段挂起;并且需要进一步的POST my-index/_ilm/retry来继续。另一方面,如果冷节点上的磁盘空间(可能还有cpu)仍然可用,可以尝试增加限制:
allocate
write
POST my-index/_ilm/retry
PUT _cluster/settings { "persistent": { "cluster.max_shards_per_node": "3000" } }
或者,尝试改变热节点的分片策略,比如让每个主分片在30 ~ 40 GB左右;并且只保留必要的副本数量(1或2应该足够)。
1条答案
按热度按时间olqngx591#
当只有冷节点达到限制时,数据应该正常。
如果我理解正确的话,它将在ILM
allocate
阶段失败。由于所有的
write
请求都应该首先到达热节点,在冷节点被分片限制阻塞期间,ILM过程应该在一些等待/失败阶段挂起;并且需要进一步的
POST my-index/_ilm/retry
来继续。另一方面,如果冷节点上的磁盘空间(可能还有cpu)仍然可用,可以尝试增加限制:
或者,尝试改变热节点的分片策略,比如让每个主分片在30 ~ 40 GB左右;并且只保留必要的副本数量(1或2应该足够)。