AWS эластичный поиск. FORBIDDEN/8/index write (api). Не удалось записать в индекс
Я пытаюсь сбрасывать список документов в экстренный поиск AWS. Он работал нормально. Затем, внезапно, он начал метать эту ошибку:
{ _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%. Я что-то упустил?
Благодарю.
Ответы
Ответ 1
Эта ошибка заключается в том, что служба Amazon ES активно блокирует записи, чтобы защитить кластер от достижения красного или желтого статуса. Он делает это с помощью index.blocks.write
.
Две причины:
Мало памяти
Когда метка JVMMemoryPressure превышает 92% в течение 30 минут, Amazon ES запускает механизм защиты и блокирует все операции записи, чтобы предотвратить крах статуса кластера. Когда защита включена, операции записи не выполняются с ошибкой ClusterBlockException, новые индексы не могут быть созданы, и возникает ошибка IndexCreateBlockException.
Когда метрика JVMMemoryPressure возвращается на 88% или ниже в течение пяти минут, защита отключается, а операции записи в кластер разблокируются.
Недостаточно места на диске
У Elasticsearch есть "низкий водяной знак" по умолчанию, равный 85%, что означает, что, когда использование диска превышает 85%, Elasticsearch больше не выделяет осколки этого узла. У Elasticsearch также есть "высокий водяной знак" по умолчанию 90%, и в этот момент он пытается переместить осколки в другие узлы.
Ответ 2
Эта ошибка указывает, что AWS ElasticSearch разместил блок в вашем домене на основе дискового пространства. При 85% ES не позволит создавать новые индексы. На 90% новых документов не может быть написано.
Ответ 3
Хорошо. Теперь он начал работать через ~ 24 часа. Я не уверен, что происходит. Почему это заняло столько времени? AWS должна предоставить больше информации об тексте ошибки, который они возвращают клиентам.