이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 14418|회답: 2

Elasticsearch(ES) 클러스터 건강 상태: 빨간색 고장 분석

[링크 복사]
2021-1-27 23:08:07에 게시됨 | | | |
elasticsearch-head 패널을 사용해 Elasticsearch(ES)에 연결했더니 다음과 같은 오류가 발생했습니다:

클러스터 건강: 빨간색 (31개 중 24개)


상태 정보를 확인하려면 다음을 방문하세요:하이퍼링크 로그인이 보입니다.

{
  "cluster_name" : "탄성 탐색",
  "상태" : "빨강",
  "timed_out" : 거짓,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 24,
  "active_shards" : 24,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 7,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 77.41935483870968
}
"상태" : "빨간색"상태는 비어 있습니다

헤드 플러그인은 다양한 색상으로 표시됩니다

1) 녹색 - 가장 건강한 상태로, 모든 기본 및 복제 샤드가 사용 가능함을 의미합니다;
2) 노란색 - 모든 기본 샤드는 사용 가능하지만, 일부 복제 샤드는 사용할 수 없습니다;
3) 레드 - 일부 주요 샤드는 사용할 수 없습니다. (현재 쿼리를 실행할 때 일부 데이터가 여전히 발견되므로 빠르게 해결하는 것이 좋습니다.) )


인덱스 상태를 보려면 다음 항목에 접속하세요:하이퍼링크 로그인이 보입니다.

.monitoring-es-6-2021.01.22 0 p 할당되지 않은 ALLOCATION_FAILED
할당되지 않은 샤딩이란 무엇인가요?

한 문장으로 설명하자면: 할당되지 않은 샤드.
ES를 시작하면 Head 플러그인을 계속 새로고침하면 클러스터 조각이 보라색, 회색, 그리고 마지막으로 초록색으로 나타납니다.


왜 할당되지 않은 샤딩이 발생하나요?

예를 들어, 샤드를 할당할 수 없다면, 클러스터 내 노드 수에 비해 복제 샤드 수를 과도하게 할당했으면, 샤드는 할당되지 않은 상태로 남아 있습니다.
오류 코드는 다음과 같습니다: ALLOCATION_FAILED.


할당되지 않은 샤딩 문제의 가능한 원인은 무엇인가요?

1) INDEX_CREATED: 인덱스를 만든 API 때문에 할당되지 않음.
2) CLUSTER_RECOVERED: 클러스터 복구 완료로 인해 할당되지 않음.
3) INDEX_REOPENED: 인덱스를 개시 또는 마감하여 할당되지 않음.
4) DANGLING_INDEX_IMPORTED: 매달린 지수를 불러와서 할당되지 않음.
5) NEW_INDEX_RESTORED: 새 인덱스로 되돌아가 할당되지 않음.
6) EXISTING_INDEX_RESTORED: 닫힌 인덱스로 되돌아가 할당되지 않음.
7) REPLICA_ADDED: 복제 샤드를 명시적으로 추가하여 할당되지 않음.
8) ALLOCATION_FAILED: 샤드 할당 실패로 인해 할당되지 않음.
9) NODE_LEFT: 샤드를 운반하는 노드는 클러스터를 떠나 할당되지 않습니다.
10) 재초기화: 시작에서 초기화로 이동할 때 할당되지 않은 샤드가 발생하기 때문(예: 섀도우 섀도우 복사본을 이용한 샤딩).
11) REROUTE_CANCELLED: 명시적인 리세일 해제 명령에 따른 디로스로케이션.
12) REALLOCATED_REPLICA: 더 나은 복제 위치가 사용에 맞게 보정되어 기존 복사본 할당과 할당 해제를 결정합니다.


서버에 로그인하여 Elasticsearch(ES) 로그를 다음과 같이 확인하세요:

Elasticsearch는 ES_HOME/logs 디렉터리에 많은 로그를 출력합니다. 기본 로그 수준은 INFO입니다. 적당한 정보를 제공하지만 로그를 과도하게 만들지 않도록 설계되었습니다.
하이퍼링크 로그인이 보입니다.



다음과 같은 오류가 매우 많습니다:

[2021-01-21T03:33:26,435] [경고음] [o.e.x.m.e.l.LocalExporter] [A_OefhJ] 모니터링 문서 인덱싱 중 예상치 못한 오류
org.elasticsearch.xpack.monitoring.exporter.ExportException: ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];]
        at org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$throwExportException$2(LocalBulk.java:128) ~[?:?]
        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_222]
        at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_222]
        at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:1.8.0_222]
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_222]
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_222]
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:1.8.0_222]
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:1.8.0_222]
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_222]
        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) ~[?:1.8.0_222]
        at org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.throwExportException(LocalBulk.java:129) ~[?:?]
        at org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$doFlush$0(LocalBulk.java:111) ~[?:?]
        org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2]
        org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:43) ~[elasticsearch-6.5.2.jar:6.5.2]
        org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:85) ~[elasticsearch-6.5.2.jar:6.5.2]
        org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkRequestModifier.lambda$wrapActionListenerIfNeeded$0(TransportBulkAction.java:607) ~[elasticsearch-6.5.2.jar :6.5.2]
        org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:414) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onFailure(TransportBulkAction.java:409) ~[elasticsearch-6.5.2.jar:6.5.2]
        org.elasticsearch.action.support.TransportAction$1.onFailure(TransportAction.java:91) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.finishAsFailed(TransportReplicationAction.java:901) ~[elasticsearch-6.5.2.jar :6.5.2]
        at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockException(TransportReplicationAction.java:824) ~[ elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:812) ~[ elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.doRun(TransportReplicationAction.java:710) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:97) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:167) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.apply(SecurityActionFilter.java:126) ~[?:?]
        at org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:165) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:139) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation.doRun(TransportBulkAction.java:384) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.bulk.TransportBulkAction.executeBulk(TransportBulkAction.java:496) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.bulk.TransportBulkAction.executeIngestAndBulk(TransportBulkAction.java:243) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.bulk.TransportBulkAction.doExecute(TransportBulkAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.bulk.TransportBulkAction.lambda$processBulkIndexIngestRequest$4(TransportBulkAction.java:549) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.ingest.IngestService$4.doRun(IngestService.java:417) [elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:723) [elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-6.5.2.jar:6.5.2]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
원인: org.elasticsearch.cluster.block.ClusterBlockException: 차단: [FORBIDDEN/12/index read-only / allow delete (api)];
        at org.elasticsearch.cluster.block.ClusterBlocks.indexBlockedException(ClusterBlocks.java:183) ~[elasticsearch-6.5.2.jar:6.5.2]
        at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:810) ~[ elasticsearch-6.5.2.jar:6.5.2]
        ... 21 더


분석 결과, 그 이유는 다음과 같습니다ES가 위치한 서버의 디스크 공간이 너무 부족합니다, 하나 이상의 샤드를 가진 인덱스가 데이터의 95% 이상을 저장하는 디스크 내 노드에 할당되면, 인덱스는 읽기 전용 모드로 강제됩니다.

CentOS는 각 폴더 크기를 세고 큰 파일을 찾습니다
https://www.itsvse.com/thread-9542-1-1.html
방문할 수 있는 모든 인덱스 설정 정보를 확인하세요:하이퍼링크 로그인이 보입니다., 아래 그림에서 볼 수 있습니다:



"지식" : {
    "설정" : {
      "인덱스" : {
        "number_of_shards" : "3",
        "블록" : {
          "read_only_allow_delete" : "진실"
        },
        "provided_name" : "지식",
        "creation_date" : "1576206251443",
        "number_of_replicas" : "0",
        "uuid" : "yeSIP_otQo6JQ8ooRdr8hA",
        "버전" : {
          "생성" : "6050299"
        }
      }
    }
  }
read_only_allow_delete이 속성이 참일 때, ES 인덱스는 데이터 읽기와 삭제만 허용하며, 데이터 추가나 수정은 허용하지 않습니다


용액

디스크 문제를 해결한 후에는 정크닉 파일을 확장하거나 삭제하면, 아래 튜토리얼을 따라 하세요.

read_only_allow_delete false로 설정하세요

elasticsearch-head를 사용해 풋 요청을 보낼 수 있습니다:하이퍼링크 로그인이 보입니다., 아래 그림에서 볼 수 있습니다:

{
"인정": 맞아요
}





그래도 레드의 건강 상태는 없어지지 않아,".monitoring-es-6-*" 데이터를 직접 삭제하세요, 상태는 아래 그림에서 보듯이 건강해집니다:



(끝)




이전의:CentOS는 각 폴더 크기를 세고 큰 파일을 찾습니다
다음:Elasticsearch(ES) 클러스터 건강 상태: 노란색 (7개 중 6개) 상태
 집주인| 2021-6-15 11:22:58에 게시됨 |
-- 모든 인덱스 상태 보기

하이퍼링크 로그인이 보입니다.

-- 빨간색 상태의 인덱스 보기
하이퍼링크 로그인이 보입니다.

문서조사:하이퍼링크 로그인이 보입니다.

 집주인| 2023-4-17 12:12:32에 게시됨 |
Elasticsearch(ES)가 결함 해결책에 데이터를 쓰지 못함
https://www.itsvse.com/thread-10568-1-1.html
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com