所以我只是将我的一个索引设置为readonly,现在想删除它.
将其设置为只读:
PUT my_index/_settings
{ "index": { "index.blocks.read_only" : true } }
Run Code Online (Sandbox Code Playgroud)
当我试图删除它时,我收到了这样的回复:
ClusterBlockException[blocked by: [FORBIDDEN/5/index read-only (api)];]
Run Code Online (Sandbox Code Playgroud)
然后我尝试将索引设置为readonly false:
PUT my_index/_settings
{ "index": { "index.blocks.read_only" : false } }
Run Code Online (Sandbox Code Playgroud)
但是这给出了与上面相同的错误消息.那么如何将readonly设置为false?
Kri*_*fer 31
答案真的很旧,所以我也会添加一个弹性答案:
PUT /[_all|<index-name>]/_settings
{
"index.blocks.read_only_allow_delete": null
}
Run Code Online (Sandbox Code Playgroud)
https://www.elastic.co/guide/en/elasticsearch/reference/6.x/disk-allocator.html
仅供参考(对于上下文):由于磁盘用完而我遇到了只读索引,并从logstash获取了错误消息:
...retrying failed action with response code: 403 ({"type"=>"cluster_block_exception", "reason"=>"blocked"
Run Code Online (Sandbox Code Playgroud)
elasticsearch:
ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete(api)];]
Chi*_*h25 25
制作es index只读的正确方法是
PUT your_index/_settings
{
"index": {
"blocks.read_only": true
}
}
Run Code Online (Sandbox Code Playgroud)
改变true以false将其复原.
您可以使用设置非动态设置
{
"index": {
"index.blocks.read_only": false
}
}
Run Code Online (Sandbox Code Playgroud)
我认为这不是你的意图.另外我认为您应该在第一次操作时看到错误,因为非动态设置只能更新close indices.
跑
POST your_index/_close
Run Code Online (Sandbox Code Playgroud)
然后尝试改变它.
curl -X PUT "localhost:9200/_all/_settings" -H 'Content-Type: application/json' -d'{ "index.blocks.read_only" : false } }'
Run Code Online (Sandbox Code Playgroud)
在 ElasticSearch (ES) 的 2.x 版中,您必须执行以下操作
PUT your_index/_settings
{
"index": {
"blocks": {
"write": "false",
"read_only": "false"
}
}
}
Run Code Online (Sandbox Code Playgroud)
虽然在read_only内部将索引设置为 true ,但 ES 也会将write其更改为 true 并且仅恢复read_only为 false 仍然不允许您更新索引,因此您必须write显式更新设置。
如果您安装了 Kibana,您可以访问您的 kibana 网址:
Management (Left pane) -> Elasticseach Index Management -> Select your Index -> Edit Settings
Run Code Online (Sandbox Code Playgroud)
然后更新:
"index.blocks.read_only_allow_delete": "false"
Run Code Online (Sandbox Code Playgroud)
此外,要在 kibana 上全局设置它,您可以转到开发工具(左窗格)并发出以下请求:
PUT _settings
{
"index": {
"blocks": {
"read_only_allow_delete": "false"
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28290 次 |
| 最近记录: |