클러스터 상태편집

기본적인 상태 확인부터 시작하겠습니다. 이 확인을 통해 클러스터가 어떻게 작동하고 있는지 알아볼 수 있습니다. 여기서는 curl을 사용하겠지만, HTTP/REST 호출을 지원하는 어떤 툴도 사용 가능합니다. Elasticsearch를 시작한 노드에 아직 있다고 가정하고 다른 명령 셸 창을 열겠습니다.

클러스터 상태를 확인하기 위해 _cat API를 사용합니다. Kibana 콘솔에서 아래의 명령을 실행할 수 있습니다. "VIEW IN CONSOLE"을 클릭하거나 `curl`을 사용할 경우에는 아래의 "COPY AS CURL" 링크를 클릭하고 터미널에 붙여 넣으면 됩니다.

GET /_cat/health?v

그러면 다음과 같이 응답합니다.

epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1475247709 17:01:49  elasticsearch green           1         1      0   0    0    0        0             0                  -                100.0%

"elasticsearch"라는 클러스터가 시작되었고 녹색 상태임을 볼 수 있습니다.

클러스터 상태를 물으면 항상 녹색, 노란색 또는 빨간색으로 표시됩니다. 녹색은 모두 양호한 상태(클러스터가 정상 작동 중), 노란색은 모든 데이터가 사용 가능한 상태이지만 일부 리플리카가 아직 배정되지 않은 상태(클러스터는 정상 작동 중), 빨간색은 어떤 이유로 일부 데이터가 사용할 수 없는 상태를 의미합니다. 클러스터가 빨간색이더라도 아직 부분적으로 작동하는 중입니다. 즉 사용 가능 샤드에서 계속 검색 요청을 처리합니다. 그러나 데이터가 누락되므로 서둘러 문제를 해결해야 합니다.

또한 위 응답에서는 노드가 총 1개이고 샤드는 0개입니다. 아직 데이터가 없기 때문입니다. 여기서는 기본 클러스터 이름(elasticsearch)을 사용하는 중이고 Elasticsearch에서 동일한 시스템의 다른 노드를 찾는 데 기본적으로 유니캐스트 네트워크 검색을 사용하므로 어쩌다가 컴퓨터에서 둘 이상의 노드가 시작되고 이들이 모두 단일 클러스터에 포함될 수도 있습니다. 그러한 시나리오에서는 위 응답에서 둘 이상의 노드가 나타날 수 있습니다.

또한 아래와 같이 클러스터에 있는 노드의 목록이 표시될 수도 있습니다.

GET /_cat/nodes?v

응답은 다음과 같습니다.

ip        heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1           10           5   5    4.46                        mdi      *      PB2SGZY

여기서는 노드의 이름이 "PB2SGZY"이며, 현재 이 클러스터의 유일한 노드입니다.