Elasticsearch

    [Elasticsearch] "Limit of total fields has been exceeded" 해결

    [Elasticsearch] "Limit of total fields has been exceeded" 해결

    API를 수정하고나서부터 Elasticsearch에 Document가 쌓이지 않는 문제가 발생했다. Logstash 로그 내역을 까보니 다음과 같은 이유로 데이터가 들어오지 않고 있었다. ES에서 field 개수를 기본적으로 1000개로 설정해두고 있어서 error가 떨어지고 있었다. API를 수정하면서 field개수가 1000개를 넘어가서 위와 같이 발생하고 있었다. 내가 생각해본 해결 방법은 3가지였다. 1. API의 데이터를 수정 2. ES의 field 최대 개수를 늘려주는 것 3. Logstash에서 remove field를 통해 불필요한 정보 제거 먼저 1번의 경우, API 데이터는 나만 사용하는 데이터가 아니기 때문에 건들기가 어렵다고 판단하였다. 나는 필요없는 정보일지라도 다른 부서에서는 해..

    [ElasticSearch] Split Brain (마스터노드 구성)

    [ElasticSearch] Split Brain (마스터노드 구성)

    엘라스틱 서치 클러스터를 구축할 때 마스터후보 노드는 최소 3개 이상의 홀수개로 설정하는 것을 권장한다...! 그 이유는 Split Brain때문인데, 해당 개념을 알아보자. (틀린 내용이 있을 경우 댓글로 알려주시면 감사하겠습니다) 먼저 마스터후보 노드를 1개만 두면, 해당 마스터 노드가 유실되었을 때 클러스터 전체가 멈춰버리기 때문에 1개만 두지는 않는다. 그렇다면 홀수개로 설정해야하는 이유는 무엇일까? 위 사진과 같이 만일 네트워크가 단절되는 경우, 하나의 ES 클러스터였던 것이 각각 다른 클러스터로 분리되어 동작하게 되는 경우가 발생할 수 있다. 이때, 각각의 클러스터로 동작할 때 데이터가 추가되거나 변경되면, 나중에 네트워크가 복구되고 다시 하나의 클러스터로 합쳐지면서 데이터 정합성 문제가 발생..

    [Elasticsearch] ELK스럽게 데이터 수정하기 (역색인구조)

    [Elasticsearch] ELK스럽게 데이터 수정하기 (역색인구조)

    이번 포스팅은 Elasticsearch와 Kibana를 처음 사용하면서 공부했던 부분들에 대해 남겨보고자 한다. (공부중인 부분이라 용어가 적절하지 않거나 틀린부분이 있을 수 있습니다! 알려주시면 감사하겠습니다 :)) ElasticSearch에 metic 정보를 넣어 Kibana로 시각화하려고 했을 때, 뭔가 잘 되지않는 문제가 있었다. 예를 들어 host의 cpu 사용개수를 표현하려고 했다고 하자. 내가 ES에 적재하는 정보는 다음과 같았다. Field Value host1_name 2 host2_name 3 host3_name 4 host4_name 1 이런 방식으로 적재하면 Kibana에서 시각화를 할 때 Field(host)별로 view를 추가해줘야했다. 이 말인즉슨 host가 추가되거나 삭제되는..