Elasticsearch 클러스터를 설치 및 설정하기 전에 환경을 준비하고 고가용성을 구성할지 결정합니다.
모든 환경의 태스크
다음 태스크를 수행하여 설치 환경을 준비합니다.
각 시스템이 지원되는 Elasticsearch 버전에 대한 하드웨어 요구 사항을 충족하는지 확인합니다. 하드웨어에 대한 자세한 내용은 Elasticsearch 설명서를 참조하십시오.
각 시스템이 지원 운영 체제 및 Java 버전과 같은 지원되는 Elasticsearch 버전에 대한 소프트웨어 요구 사항을 충족하는지 확인합니다. 소프트웨어 요구 사항에 대한 자세한 내용은
Elasticsearch Support Matrix
를 참조하십시오.
스왑, 파일 설명자, 가상 메모리와 같은 중요 시스템 구성을 완료합니다. 중요 시스템 구성에 대한 자세한 내용은 Elasticsearch 설명서를 참조하십시오.
UNIX 환경의 태스크
UNIX 환경에서 다음 태스크를 수행합니다.
파일 설명자 수 부족으로 인한 데이터 손실을 방지하도록 파일 설명자의 수를 65536 이상으로 설정합니다.
메모리 스왑을 방지하려면 스왑을 방지하도록 시스템을 구성합니다.
mlockall
을 통해 메모리의 힙을 잠그도록 JVM(Java Virtual Machine)을 구성할 수 있습니다.
고가용성 요구 사항
인덱싱 및 검색할 대량의 데이터가 있는 경우에는 고가용성 Elasticsearch 클러스터를 구현하는 것이 좋습니다. 고가용성 클러스터에는 여러 개의 노드가 있으며 클러스터가 노드 간에 워크로드를 분배할 수 있습니다. 프로덕션 환경에서 하나의 노드가 실패하는 경우 클러스터가 워크로드를 다른 노드에 분배합니다.
설치 전 태스크의 하나로, 고가용성 Elasticsearch 클러스터를 구현할지 결정합니다. 구현할 경우 Elasticsearch 클러스터를 평소대로 구성하되 다음과 같은 추가 요구 사항을 충족해야 합니다.
Elasticsearch 클러스터에 3개 이상의 노드가 있습니다.
소형 클러스터를 설정하여 클러스터를 시작하고 필요에 따라 확장할 수 있습니다. 워크로드를 분석하여 노드 실패를 처리할 수 있는 충분한 용량이 있는지 확인해야 합니다.
각 노드는 별도의 전용 시스템에 구성되어 있습니다.
안정성과 성능을 보장하기 위해 마스터 노드가 3개 이상입니다. Elasticsearch에서는 마스터 노드를 홀수로 구성하는 것을 권장합니다.
클러스터에 노드가 3개만 있다면 모든 노드를 마스터 노드로 구성합니다.
클러스터에 4개 이상의 노드가 있는 경우에는 3개의 노드를 마스터 노드로 구성하고 나머지 노드를 데이터 노드로 구성합니다.
Elasticsearch 클러스터 크기에 따라 복제본의 수를 결정합니다. 프로비저닝 도구를 사용하여 Elasticsearch 인덱스를 구성할 때 사용할 복제본의 수를 지정할 수 있습니다.
각 노드의
elasticsearch.yml
구성 파일에서 다음과 같은 추가 속성을 설정합니다.
discovery.zen.minimum_master_nodes
discovery.zen.ping.unicast.hosts
하드웨어 요구 사항, 시스템 구성, 속성 값을 포함한 고가용성 클러스터에 대한 자세한 내용은 Elasticsearch 설명서를 참조하십시오.