중화사전망 - 사전 온라인 - ES 클러스터 관리
ES 클러스터 관리
ES 는 일반적으로 클러스터 모드에서 작동하며 ES 의 검색 기능과 대용량 데이터의 검색 기능을 향상시킵니다. 또한 시스템의 내결함성과 고가용성이 향상되어 es 가 페타바이트급 데이터를 검색할 수 있습니다.
다음 그림은 ES 클러스터 구조의 다이어그램입니다.
위 그림의 다음 개념을 요약합니다.
1 및 노드
ES 클러스터는 각각 노드인 여러 서버로 구성됩니다 (이 서비스에는 ES 프로세스가 하나만 배치됨).
2. 분할
많은 문서를 보유하고 있을 때 메모리 및 하드 드라이브 제한으로 인해 ES 의 처리 능력, 내결함성 및 고가용성을 향상시키기 위해 인덱스를 여러 세그먼트로 나누어 각 세그먼트를 서로 다른 서버에 배치할 수 있습니다. 이렇게 하면 여러 서버가 외부에 인덱싱 및 검색 서비스를 제공할 수 있습니다.
검색 요청이 도착하면 각 조각에서 조회한 다음 마지막으로 조회된 데이터를 병합하여 사용자에게 반환합니다.
3. 복사
ES 의 고가용성과 검색 처리량을 높이기 위해 하나 이상의 복제본을 슬라이스하여 다른 서버에 저장하므로 현재 서버가 전화를 끊더라도 복제본이 있는 서버는 평소와 같이 서비스를 제공할 수 있습니다.
4. 메인 아울렛
한 클러스터에 하나 이상의 마스터 노드가 있을 것입니다. 마스터 노드의 롤은 노드 추가 및 노드 제거와 같은 클러스터 관리입니다. 마스터 노드가 끊어지면 ES 가 마스터 노드를 다시 선택합니다.
5. 노드 전달
각 노드는 다른 노드에 대한 정보를 알고 있습니다. 어느 노드에나 요청을 할 수 있으며, 요청을 받은 노드는 데이터 조회를 위해 다른 노드로 전달됩니다.
다음 예에서는 2 노드 클러스터를 생성했으며 각각 하나씩 2 개의 인덱스 슬라이스를 설정했습니다.
마스터 노드: 마스터 노드는 노드 추가, 세그먼트 지정, 인덱스 추가 및 삭제와 같은 클러스터 관리 및 인덱스에 주로 사용됩니다. 데이터 노드: 데이터 노드는 인덱스 및 검색 작업을 담당하는 데이터 조각을 저장합니다. 클라이언트 노드: 클라이언트 노드는 요청 클라이언트로만 존재하며 클라이언트 역할도 로드 밸런서로 사용됩니다. 클라이언트 노드는 데이터를 저장하지 않고 요청을 다른 노드에 균형 있게 전달합니다.
다음 두 매개변수를 사용하여 노드의 기능을 구성합니다.
Node.master: # 마스터 노드로 허용됩니까?
Node.data: # 데이터를 데이터 노드로 저장할 수 있습니다.
Node.ingest: # 공동 작업 노드로 허용할지 여부,
네 가지 조합:
마스터 = 참, 데이터 = 참: 마스터 노드이자 데이터 노드입니다.
Master=false, data=true: 데이터 노드만.
Master=true, data=false: 마스터 노드일 뿐 데이터를 저장하지 않습니다.
Master=false, data=false: 마스터 노드도 데이터 노드도 아닙니다. 이 시점에서 true 로 설정하여 클라이언트임을 나타낼 수 있습니다.
유연한 검색 압축 풀기 -6.2. 1.zip.
노드 1 외부 서비스의 http 포트는 9200 입니다.
클러스터 관리 포트는 9300 입니다.
Elasticsearch.yml 구성
노드 이름: xc_node_ 1
Elasticsearch.yml 의 내용은 다음과 같습니다
작업은 노드 1 과 동일합니다.
1) 노드 중 하나를 head 로 연결합니다.
위 그림에서는 두 개의 노드가 성공적으로 생성되었음을 보여 줍니다.
2) 아래에 ***2 개의 세그먼트가 있는 색인 라이브러리를 작성합니다. 각 세그먼트마다 사본이 하나씩 있습니다.
위 그림에서 볼 수 있듯이 * * * 에는 네 개의 슬라이스가 있으며 그 중 두 개는 반복됩니다.
3) 각 노드에는 IK 하이픈 넣기가 있습니다.
GET /_cluster/health 에 액세스하여 Elasticsearch 의 클러스터 상태를 확인합니다.
녹색, 노란색 또는 빨간색의 세 가지 색상으로 건강 상태를 나타냅니다.
녹색: 모든 마스터 및 복사 슬라이스가 정상적으로 작동합니다.
노란색: 모든 마스터 슬라이스는 정상적으로 작동하지만 일부 복제본 슬라이스는 제대로 작동하지 않습니다.
빨간색: 주 슬라이스가 제대로 작동하지 않습니다.
1) 지도를 작성하여 문서에 씁니다.
이러한 노드 중 하나를 연결하고 지도를 작성한 다음 문서에 기록합니다.
2) 검색
다른 노드에 대한 검색 요청을 시작하여 모든 데이터를 쿼리합니다.
3) 노드를 종료합니다
ES 는 마스터 노드를 다시 선택합니다 (노드를 구성할 때 마스터가 될 수 있다고 가정).
이때 라이브 노드에 대한 검색 요청을 시작하는 것은 정상입니다.