elasticsearch-head 패널을 사용해 Elasticsearch(ES)에 연결했더니 다음과 같은 오류가 발생했습니다:
상태 정보를 확인하려면 다음을 방문하세요:하이퍼링크 로그인이 보입니다.
{ "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% 이상을 저장하는 디스크 내 노드에 할당되면, 인덱스는 읽기 전용 모드로 강제됩니다.
방문할 수 있는 모든 인덱스 설정 정보를 확인하세요:하이퍼링크 로그인이 보입니다., 아래 그림에서 볼 수 있습니다:
"지식" : { "설정" : { "인덱스" : { "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-*" 데이터를 직접 삭제하세요, 상태는 아래 그림에서 보듯이 건강해집니다:
(끝)
|