Как отменить настройку индекса Elasticsearch на readonly?
поэтому я просто установил один из моих индексов на readonly, и теперь хочу удалить его.
, чтобы установить его в значение readonly:
PUT my_index/_settings
{ "index": { "index.blocks.read_only" : true } }
когда я попытался удалить его, я получил такой ответ:
ClusterBlockException[blocked by: [FORBIDDEN/5/index read-only (api)];]
затем я попытался установить индекс на readonly false:
PUT my_index/_settings
{ "index": { "index.blocks.read_only" : false } }
но это дает то же сообщение об ошибке, что и выше. Итак, как установить readonly обратно в false?
3 ответов
правильный способ сделать es index
только для чтения
PUT your_index/_settings
{
"index": {
"blocks.read_only": true
}
}
изменить true
до false
чтобы отменить его.
вы устанавливаете не динамическую настройку с
{
"index": {
"index.blocks.read_only": false
}
}
что, я думаю, не было ваше намерение. Также я думаю, что вы должны были увидеть ошибку во время первой операции, так как не динамические настройки могут быть обновлены только на close indices
.
run
POST your_index/_close
а затем попробуйте изменить его.
в версии 2.x из ElasticSearch (ES) вы должны сделать следующее
PUT your_index/_settings
{
"index": {
"blocks": {
"write": "false",
"read_only": "false"
}
}
}
при установке индекса в read_only
к true внутренне ES изменяет write
в true, а также и просто возвращаясь read_only
для false по-прежнему не позволяет обновлять индекс, поэтому вам нужно обновить write
явная установка.
ответы действительно старые, поэтому я добавлю эластичный-6 ответ тоже:
PUT /index-name/_settings
{
"index.blocks.read_only_allow_delete": null
}
https://www.elastic.co/guide/en/elasticsearch/reference/6.x/disk-allocator.html
FYI (для контекста): я столкнулся с индексами только для чтения из-за нехватки диска и получил сообщения об ошибках от logstash:
...retrying failed action with response code: 403 ({"type"=>"cluster_block_exception", "reason"=>"blocked"
elasticsearch:ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete
(api)];]