inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

ElasticSearch Essential

클러스터에서 마스터 노드를 사용자가 선택할 수 있나요?

해결된 질문

455

godsman

작성한 질문수 1

1

클러스터 구성에서 사용자가 마스터 노드를 직접 선택할 수 있나요?

마스터노드를 3대 이상 구성하고, 그 중에서 선출되는 것으로 들었습니다.

두대의 노드로 클러스터를 구성했을 때 특정 노드를 마스터노드로 지정할 수 있는지 알고 싶습니다.

두대의 노드를 HA 구성으로 사용하려는 목적이 있기 때문에 평상시에 마스터노드 정보를 공유할 수 있도록 두대 모두 마스터노드로 설정합니다.

이런 경우에 특정 노드를 마스터노드로 지정할 수 있을까요?

elasticsearch

답변 2

0

강진우

마스터 후보 노드가 짝수로 운영 되면 스플릿브레인 현상이 발생할 수 있습니다. 물론 스플릿브레인 현상이 발생하지 않는다면 정상적으로 동작은 합니다. 스플릿브레인 현상이 발생하는 경우는 노드 간 네트워크가 단절되는 경우에 발생할 수 있기 때문에 네트워크가 단절되지 않는다면 짝수여도 정상적으로 동작은 합니다.

6.x 버전 이하의 경우에는 discovery.zen.minimum_master_nodes 설정을 통해 최소 몇 대 이상의 마스터 후보 노드가 있어야 하는지를 설정할 수 있고 7.x 이상의 버전 부터는 마스터 후보 노드의 개수를 자동으로 계산해서 계산된 값의 과반수 이상의 마스터 후보 노드가 있을 경우에만 정상적으로 동작하도록 설정 됩니다.

7.x 이상의 버전이라는 가정 하에 조금 더 설명을 해보자면, 만약 마스터 노드의 개수가 3개 라면 (3/2) + 1 = 2가 되기 때문에 두 대 이상의 마스터 후보 노드가 살아 있는 경우에만 클러스터가 유지되고 네트워크 단절에 의해 마스터 후보 노드가 한 개인 클러스터가 생긴다면 해당 클러스터를 동작하지 않게 됩니다. 만약 마스터 노드의 개수가 4개 라면 (4/2) + 1 = 3이 되기 때문에 세 대 이상의 마스터 후보 노드가 살아 있는 경우에만 클러스터가 유지 됩니다만, 만약 마스터 후보 노드가 두 대/두 대 이렇게 네트워크 단절이 된다면 양쪽 클러스터 모두 정상적으로 동작하지 않게 되겠죠. 그래서 마스터 후보 노드를 홀수로 설정해야 네트워크 단절 시에도 한 쪽 클러스터는 살아있게 됩니다.

그리고 독립적인 클러스터로 운영되던 노드를 하나의 클러스터로 합치는 것은 설정 만으로는 불가능 합니다. 이미 클러스터의 이름이 서로 다르기 때문 입니다. 만약 A 클러스터와 B 클러스터를 합치고자 한다면 아래와 같은 시나리오로 할 수 있습니다. (B 클러스터를 종료하고 B 클러스터의 문서를 A 클러스터로 합친다고 가정 하겠습니다.)

  1. A 클러스터에 새로운 데이터 노드 추가

  2. B 클러스터에 색인되어 있던 문서를 A 클러스터에 재색인

  3. B 클러스터의 모든 문서가 색인 되었는지 확인 후 B 클러스터 종료, 이 때 확인은 문서 개수를 비교해서 해볼 수 있습니다.

이미 클러스터의 이름이 다르기 때문에 단순 설정 변경으로는 통합할 수 없고 문서를 재색인 하는 과정을 통해 진행해야 합니다.

0

강진우

두 대의 노드로 클러스터를 구성할 때 두 대 모두 마스터 후보 노드로 설정하시려는 건가요? 그리고 그 중에서 특정 노드를 마스터 노드로 설정 할 수 있는지를 문의 하신 것으로 이해 했습니다. 답변을 먼저 드리자면 특정 노드를 마스터 노드로 설정하는 것은 불가능 합니다. 마스터 후보 노드들 중에서 어떤 노드가 마스터 노드가 될지는 자동으로 설정 됩니다. 이 부분을 수동으로 특정 노드를 마스터 노드로 지정할 수는 없습니다.

그리고 두 대로 HA를 구성하는 건 Split Brain 현상이 발생할 수 있기 때문에 가급적 홀수로 구성 하는 것을 권고 합니다. 동일한 사양으로 구성하는 게 어렵다면 마스터 후보 노드 역할만 할 수 있도록 비교적 낮은 사양의 노드를 추가해서 홀수를 맞추는 것이 좋습니다.

0

godsman

감사합니다. 그렇다면,

신규노드 추가
노드 한대로 운영되던 클러스터에 신규 노드 1대를 합류시키면 정상적으로 동작되는 건가요?
이때도 스플릿브레인 현상이 발생할 수 있나요?

통합클러스터
각각 독립적인 클러스터로 운영되던 노드를 하나의 클러스터로 합치려면 어떻게 진행하는 것이 좋은지요?

Red 인 상황에서 유실

0

64

2

하루 100GB 로그를 30기간 저장하는 클러스터 예시중 질문이 있습니다.

0

108

2

노드당 샤드수 제한 질문입니다.

0

85

2

노드에서의 가용영역 이슈

0

105

3

노드당 샤드 수 질문입니다.

0

149

3

색인과정 이해하기 중 질문입니다.

0

227

2

xlsx 파일 색인 중 CircuitBreakingException 발생

0

204

1

ES 트러블슈팅 사례분석 강의 내용중 궁금한 게 있습니다.

0

246

1

동잭매핑 매핑 시 색인 질문

0

200

1

Elastic Search 동작 이해하기 색인 설명 관련

0

415

2

Compressed OOP 조건에 따른 ES Heap Size 제약

0

708

1

6강 10분 색인 과정에 대해 질문 있습니다.

0

342

2

4강 14분51초 질문 있습니다!

0

399

2

안녕하세요 elastic cloud를 사용하는데 cpu가 계속 칩니다 .

0

381

1

검색이 안되는 문제 문의

0

337

1

7번째 강의에서 Token과 Term은 다른 건가요??

0

465

1

서버 업데이트후 키바나 동작안함

1

339

1

인덱스 설계에서 type 문의드립니다.

0

359

1

/_cat/indices?v 로 인덱스 조회시 보이는 나머지 항목들

0

406

1

색인 분석이란?

0

253

1

동적 스키마가 NoSQL을 의미하나요???

0

525

1

노리분석기 노드 적용 질문

1

274

1

노드 heap size에 관해서

0

683

2

로드밸런스 endpoint

1

312

1