Elasticsearch > index [foo_index] blocked by

4790 단어 Elasticsearch
Mac의 로컬 환경에서 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."
    }
}

좋은 웹페이지 즐겨찾기