엘라스틱서치 - 롤링 리스타트
2023. 10. 1. 17:27
카테고리 없음
ES 운영중에는 롤링 리스타트를 수행할 일이 매우 많다. 동적으로 변경할 수 없는 설정의 적용, 플러그인 설치나 삭제의 적용, 엘라스틱서치의 버전 업그레이드 등 다양한 상황에서 롤링 리스타트가 필요하다. 그리고 무엇보다 장애 상황에서 문제를 일으키고 있는 노드를 재기동하기 위해 많이 수행된다. 롤링 리스타트는 크게 샤드 할당 비활성화, flush 수행, 노드 재기동, 샤드 할당 활성화, green 상태까지 대기 순으로 수행된다. 샤드 할당 비활성화 노드를 재기동하기 위해 엘라스틱서치 프로세스를 종료시키면 클러스터 구성에서 노드가 빠진다. 빠진 노드가 데이터 노드라면 주 샤드를 새로 지정하고 줄어든 복제본 개수를 맞추기 위해 복제본 샤드를 새로 할당해 생성하는 작업이 수행된다. 사실 롤링 리스타트 과정에서..
엘라스틱서치 - 샤드 운영전략
2023. 10. 1. 17:03
Elasticsearch
인덱스의 샤드 개수(number_of_shards) 는 한 번 지정하면 reindex 등의 특별한 작업을 수행하지 않는 한 변경할 수 없다. 그런데 샤드 개수를 어떻게 지정하느냐에 따라 엘라스틱서치 클러스터 전체의 성능이 크게 달라진다. 중요한 설정임에도 불구하고 샤드 개수를 정확히 어떤 값으로 지정하면 되는지 딱 정해주는 알기 쉽고 명확한 기준은 알려진 바가 없다. 이 문제는 굉장히 어려운 문제다. 이번 절에서는 샤드 개수를 어떻게 지정할지 그 전략을 알아보도록 하겠습니다. 샤드 크기와 개수 조정 클러스터에 샤드 숫자가 너무 많아지면 클러스터 성능이 눈에 띄게 떨어지게 됩니다. 샤드 하나당 루씬 인덱스가 하나씩 더 뜨며 힙을 차지 한다. 주 샤드를 하나 더 띄울 때마다 복제본 샤드도 늘어나는 것을 고려..
엘라스틱서치 - 대량 색인이 필요할 때
2023. 10. 1. 15:55
Elasticsearch
서비스 출시를 위한 초기 데이터 세팅이나 마이그레이션, reindex 를 통한 인덱스 재생성 등 대량 색인이 필요할 때가 있습니다. 이런 경우에는 색인 도중 데이터를 조회할 필요가 없다. 따라서 다음과 같은 설정을 통해 색인 속도를 높일 수 있습니다. PUT my_index/_settings { "refresh_interval" : "-1", "number_of_replicas" : 0 } refresh를 끄고 복제본 샤드 개수를 0으로 지정해서 복제본 생성을 중지하는 설정이다. 작업이 끝나면 원래 설정으로 복구하는 것을 잊지 않아야 한다.

엘라스틱서치(Elasticsearch) - 동시성 제어
2023. 9. 19. 16:59
Elasticsearch
개요 Elasticsearch 와 같은 분산형 시스템을 다룰 때 동시성 때문에 문제가 생길수 있습니다. Elasticsearch는 어떻게 동시성 문제를 제어하는지에 대해 알아볼겁니다. 그 이전에 동시성 문제가 무엇인지 알아야합니다. 동시성 제어는 여러 클라이언트나 요청이 동시에 Elasticsearch 클러스터에 접근하거나 쓰기 작업을 수행할 때 데이터 무결성을 유지하고 성능을 최적화하기 위해 사용되는 중요한 개념입니다. 인덱스 동시성 - 여러 클라이언트가 동시에 같은 인덱스에 데이터를 쓰려고 할때, Elasticsearch 는 쓰기 작업을 조정하여 데이터 무결성을 보장합니다. 검색 동시성 - 많은 클라이언트가 동시에 검색을 실행할 때, Elasticsearch 는 검색 요청을 효율적으로 처리하기 위해 ..
기술 면접 질문 모음
2023. 9. 14. 16:29
lecture
운영체제 프로세스 프로세스와 스레드의 차이는 무엇인가요? 교착상태란 무엇이며, 교착상태가 발생하기 위해서는 어떤 조건이 있어야 하나요? 교착상태의 해결법은 무엇인가요? 뮤텍스와 세마포어에 대해서 설명해 보시오. 컨텍스트 스위칭이란 무엇인가요? 경쟁 상태란 무엇인가요? 프로세스 혹은 스레드의 동기화란 무엇인가요? 사용자 수준의 스레드와 커널 수준의 스레드의 차이는 무엇인가요? CPU 스케줄링이란 무엇인가요? CPU 스케줄링 방법에는 대표적으로 어떤 것들이 있나요? 동기와 비동기, 블로킹과 넌블로킹의 차이는 무엇인가요? 메모리 프로세스에 할당되는 메모리의 각 영역에 대해서 설명해 주세요. 메모리 구조의 순서가 어떻게 되는가? CPU에서 가까운 순으로 말해보시오. 페이지와 세그멘테이션에 대해서 설명해 보시오...