Elasticsearch > index [foo_index] blocked by
4790 단어 Elasticsearch
cluster_block_exception
현상
Elasticsearch에 데이터를 추가하려고 할 때 쓰기 오류가 발생했습니다.
데이터 추가
$ curl --include -XPOST "http://localhost:9200/foo_index/_doc" \
-H 'Content-Type: application/json' \
-d '{
"user": "peke",
"message": "this message."
}'
데이터 추가 시 응답
{
"error": {
"root_cause": [
{
"type": "cluster_block_exception",
"reason": "index [foo_index] blocked by: [TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block];"
}
],
"type": "cluster_block_exception",
"reason": "index [foo_index] blocked by: [TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block];"
},
"status": 429
}
원인
Elasticsearch 설정 확인
$ curl --include -XGET "http://localhost:9200/foo_index/_settings?pretty"
{
"foo_index" : {
"settings" : {
"index" : {
"number_of_shards" : "1",
"blocks" : {
"read_only_allow_delete" : "true"
},
"provided_name" : "foo_index",
"creation_date" : "1601874837243",
"number_of_replicas" : "1",
"uuid" : "vNNFrvi_R3e6xpFXS3Xmqg",
"version" : {
"created" : "7090299"
}
}
}
}
}
"read_only_allow_delete": "true"가 되어 있다.
읽기 전용 모드로되어 있기 때문입니다.
다음 페이지에도 쓰여졌지만, 여유 디스크 공간이 5% 미만인 경우 읽기 전용 모드가 되도록
How to fix Elasticsearch 'FORBIDDEN/12/index read-only' - Today I Learned
By default, Elasticsearch installed with homebrew on Mac OS goes into read-only mode when you have less than 5% of free disk space. If you see errors similar to this:
기본적으로 Mac OS에 homebrew를 설치한 Elasticsearch는 사용 가능한 디스크 공간이 5% 미만인 경우 읽기 전용 모드가 됩니다.
디스크 확인
(5% 미만인가 하면 미묘하지만) 분명히 디스크 잔량은 적어지고 있었다.
HDD 잔량을 늘려 다시 설정을 확인
$ curl --include -XGET "http://localhost:9200/foo_index/_settings?pretty"
{
"foo_index": {
"settings": {
"index": {
"creation_date": "1601879846599",
"number_of_shards": "1",
"number_of_replicas": "1",
"uuid": "pZXw3Ng7SeGZym9ORrkKaQ",
"version": {
"created": "7090299"
},
"provided_name": "foo_index"
}
}
}
}
blocks가 사라졌습니다! !
다시 데이터 추가
데이터 추가
$ curl --include -XPOST "http://localhost:9200/foo_index/_doc" \
-H 'Content-Type: application/json' \
-d '{
"user": "peke",
"message": "this message."
}'
데이터 추가 시 응답
{
"_index": "foo_index",
"_type": "_doc",
"_id": "-uCZ93QB4SFaJHY-3iHL",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 0,
"_primary_term": 2
}
데이터 추가 가능
추가 결과 확인
$ curl --include -XGET "http://localhost:9200/foo_index/_doc/9xNyi3MBhHaU2qi75ayU?pretty"
{
"_index": "foo_index",
"_type": "_doc",
"_id": "--Ca93QB4SFaJHY-aCFx",
"_version": 2,
"_seq_no": 2,
"_primary_term": 2,
"found": true,
"_source": {
"user": "peke",
"message": "this message."
}
}
Reference
이 문제에 관하여(Elasticsearch > index [foo_index] blocked by), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sugasaki/items/22c8c6be52a38ba5afd5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)