一尘不染

AWSelasticsearch。FORBIDDEN / 8 / index写入(api)。无法写入索引

elasticsearch

我正在尝试将文档列表转储到AWSelasticsearch实例。运行良好。然后,突然间它开始抛出此错误:

{ _index: '<my index name>',
  _type: 'type',
  _id: 'record id',
  status: 403,
  error: 
   { type: 'cluster_block_exception',
     reason: 'blocked by: [FORBIDDEN/8/index write (api)];' } }

我检查了论坛。他们中的大多数人都说这是JVM内存问题。如果速度超过92%,AWS将停止对集群/索引的任何写操作。但是,当我检查JVM内存时,它显示不到92%。我在这里想念什么吗?

谢谢。


阅读 1699

收藏
2020-06-22

共1个答案

一尘不染

此错误是Amazon
ES服务主动阻止写操作以保护集群避免达到红色或黄色状态。它使用进行此操作index.blocks.write

两个原因是:

记忆不足

当JVMMemoryPressure指标在30分钟内超过92%时,Amazon
ES触发保护机制并阻止所有写入操作,以防止群集达到红色状态。启用保护后,写入操作将失败,并出现ClusterBlockException错误,无法创建新索引,并引发IndexCreateBlockException错误。

当JVMMemoryPressure指标在五分钟内恢复到88%或更低时,该保护将被禁用,并且对集群的写操作将被取消阻止。

磁盘空间不足

Elasticsearch的默认“低水印”为85%,这意味着一旦磁盘使用率超过85%,Elasticsearch将不再为该节点分配碎片。Elasticsearch的默认“高水位标记”为90%,这时它将尝试将碎片重新定位到其他节点。

2020-06-22