수색…


비고

클러스터 상태는 클러스터에 대한 많은 정보 (예 : 할당 된 샤드의 수 ( "활성") 및 할당되지 않은 클러스터의 수와 재배치)를 제공합니다. 또한 클러스터의 현재 노드 수와 데이터 노드 수를 제공하므로 누락 된 노드를 폴링 할 수 있습니다 (예 : 15 일 것으로 예상되지만 14 일 경우 노드가 누락 됨) .

Elasticsearch에 대해 알고있는 사람은 "할당 됨"및 "할당되지 않은"조각이 문제점을 추적하는 데 도움을 줄 수 있습니다.

클러스터 status 에서 가장 자주 검사되는 필드는 다음 세 가지 상태 중 하나 일 수있는 상태입니다.

  • 빨간
  • 노랑
  • 녹색

색상은 각각 하나 - 단 하나 - 아주 간단한 것 :

  1. 빨간색은 적어도 하나의 기본 샤드가 누락되었음을 나타냅니다.
    • 1 차 샤드가 누락되면 대부분의 경우 새 데이터를 쓰는 데 색인을 사용할 수 없습니다.
      • 기술적으로, 그 인덱스에서 사용 가능한 모든 주요 조각으로 인덱스 할 수는 있지만 일반적으로 특정 문서를받는 샤드를 제어하지 않기 때문에 실제로는 사용할 수 없습니다.
      • 적색 클러스터에 대한 검색은 여전히 ​​가능하지만, 검색 한 색인에 샤드가 누락되어 있으면 부분 검색 결과가 나옵니다.
    • 정상적인 상황에서는 주 샤드가 할당되고 있다는 것을 의미합니다 ( initializing_shards ).
    • 노드가 클러스터를 떠난 경우 (예를 들어, 실행중인 시스템이 전원을 잃어 버렸기 때문에) 임시 파편이 일시적으로 누락 될 수 있습니다.
      • 이 시나리오에서는 해당 기본 샤드의 모든 복제 샤드가 기본 샤드로 승격됩니다.
  2. 노란색은 모든 기본 샤드가 활성화되었지만 최소한 하나의 복제 샤드가 없음을 나타냅니다.
    • 누락 된 복제본은 일관성 설정에서 인덱싱에 영향을 주도록 요구하는 경우에만 인덱싱에 영향을줍니다.
      • 기본적으로 기본 데이터베이스에는 하나의 복제본 만 있으며 누락 된 하나의 복제본만으로 인덱싱 할 수 있습니다.
    • 정상적인 상황에서는 복제 샤드가 할당되고 있음을 의미합니다 ( initializing_shards ).
    • 복제본이 활성화 된 노드 하나의 클러스터는 항상 최고로 황색입니다. 기본 샤드가 아직 지정되지 않은 경우 빨간색이 될 수 있습니다.
      • 단일 노드 만있는 경우 복제본을 예상하지 않으므로 복제본을 비활성화하는 것이 좋습니다. 그러면 그것은 초록색 일 수 있습니다.
  3. 녹색은 모든 샤드가 활성 상태임을 나타냅니다.
    • 녹색 클러스터에 허용 된 샤드 활동은 relocating_shards 뿐입니다.
    • 새 색인과 새로운 조각은 클러스터가 빨간색에서 노란색으로 녹색으로 바뀌고 각 샤드가 할당됩니다 (먼저 기본, 노란색으로 만든 다음 가능한 경우 복제본을 녹색으로 만듭니다).
      • Elasticsearch 5.x 이상에서는 새로운 인덱스를 사용하여 할당하는 데 너무 오래 걸리지 않는 한 클러스터를 빨간색으로 만들지 않습니다 .

사람이 읽을 수있는 표 형식의 클러스터 상태 (헤더 포함)

예제에서는 기본 HTTP 구문을 사용합니다. 예제의 <#> 는 복사 할 때 제거해야합니다.

_cat API를 사용하여 여러 가지 이유로 사람이 읽을 수있는 표 출력을 얻을 수 있습니다.

GET /_cat/health?v <1>
  1. ?v 는 선택적이지만 "자세한 정보"출력을 원합니다.

_cat/health 는 Elasticsearch 1.x 이후로 존재했지만 Elasticsearch 5.x의 결과는 다음과 같습니다.

자세한 출력 :

epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1469302011 15:26:51  elasticsearch yellow          1         1     45  45    0    0       44             0                  -                 50.6%

사람이 읽을 수있는 표 형식의 클러스터 상태 (헤더없이)

예제에서는 기본 HTTP 구문을 사용합니다. 예제의 <#> 는 복사 할 때 제거해야합니다.

_cat API를 사용하여 여러 가지 이유로 사람이 읽을 수있는 표 출력을 얻을 수 있습니다.

GET /_cat/health <1>

_cat/health 는 Elasticsearch 1.x 이후로 존재했지만 Elasticsearch 5.x의 결과는 다음과 같습니다.

자세한 출력없이 :

1469302245 15:30:45 elasticsearch yellow 1 1 45 45 0 0 44 0 - 50.6%

선택한 헤더가있는 사람이 읽을 수있는 테이블 형식의 클러스터 상태

예제에서는 기본 HTTP 구문을 사용합니다. 예제의 <#> 는 복사 할 때 제거해야합니다.

Elasticsearch의 대부분의 _cat API와 마찬가지로 API는 기본 필드 집합을 선택적으로 응답합니다. 그러나 원하는 경우 API의 다른 필드가 있습니다.

GET /_cat/health?help <1>
  1. ?help 는 API가 간단한 설명과 함께 필드 (및 짧은 이름)를 리턴하도록합니다.

_cat/health 는 Elasticsearch 1.x 이후로 존재했지만 Elasticsearch 5.x의 결과는 다음과 같습니다.

이 예제의 생성 날짜에서 사용할 수있는 필드 :

epoch                 | t,time                                   | seconds since 1970-01-01 00:00:00  
timestamp             | ts,hms,hhmmss                            | time in HH:MM:SS                   
cluster               | cl                                       | cluster name                       
status                | st                                       | health status                      
node.total            | nt,nodeTotal                             | total number of nodes              
node.data             | nd,nodeData                              | number of nodes that can store data
shards                | t,sh,shards.total,shardsTotal            | total number of shards             
pri                   | p,shards.primary,shardsPrimary           | number of primary shards           
relo                  | r,shards.relocating,shardsRelocating     | number of relocating nodes         
init                  | i,shards.initializing,shardsInitializing | number of initializing nodes       
unassign              | u,shards.unassigned,shardsUnassigned     | number of unassigned shards        
pending_tasks         | pt,pendingTasks                          | number of pending tasks            
max_task_wait_time    | mtwt,maxTaskWaitTime                     | wait time of longest task pending  
active_shards_percent | asp,activeShardsPercent                  | active number of shards in percent 

다음을 사용하여 해당 필드 만 인쇄 할 수 있습니다.

GET /_cat/health?h=timestamp,cl,status&v <1>
  1. h=... 반환 할 필드 목록을 정의합니다.
  2. v (자세한 정보)는 헤더 인쇄를 원한다고 정의합니다.

Elasticsearch 5.x 인스턴스의 출력 :

timestamp cl            status
15:38:00  elasticsearch yellow

JSON 기반 클러스터 상태

예제에서는 기본 HTTP 구문을 사용합니다. 예제의 <#> 는 복사 할 때 제거해야합니다.

_cat API는 종종 사람이 클러스터에 대한 세부 정보를 한눈에 파악하는 데 편리합니다. 그러나 소프트웨어와 함께 사용하기 위해 일관되게 파싱 가능한 출력을 원할 때가 있습니다. 일반적으로 JSON API는 이러한 용도로 사용됩니다.

GET /_cluster/health

_cluster/health 는 Elasticsearch 1.x 이후 존재했지만, 여기 Elasticsearch 5.x의 출력 예제가 있습니다.

{
  "cluster_name": "elasticsearch",
  "status": "yellow",
  "timed_out": false,
  "number_of_nodes": 1,
  "number_of_data_nodes": 1,
  "active_primary_shards": 45,
  "active_shards": 45,
  "relocating_shards": 0,
  "initializing_shards": 0,
  "unassigned_shards": 44,
  "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": 50.56179775280899
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow