본문 바로가기
엘라스틱서치

2. 시작하기

by N.Damgom 2021. 8. 31.

 

2. 시작하기

용어정리

  • 인덱싱(색인) : 데이터를 검색될 수 있는 구조로 변경하기 위해 원본(소스)을 검색어 토큰들로 변환하여 저장하는 과정
  • 인덱스: 색인된 데이터가 저장되는 저장소. 도큐먼트의 논리적 집합의 단위
  • 검색: 인덱스에서 검색어 토큰들을 포함하고 있는 문서들을 찾아가는 과정
  • 질의: 문서를 찾거나 집계하기 위한 검색어와 검색 조건

 

환경설정

  • 노드들의 역할을 나누거나 클러스터의 속성을 결정한다.
  • ~./config 경로 아래의 파일을 변경하거나 엘라스틱서치 실행 시 옵션으로 설정할 수 있다.
  • ~/.config/jvm.options : JVM 힙 메모리 설정한다. 시스템 메모리 절반은 루신파일 캐시을 위해 남겨두어야 한다.
  • ~/.config/elasticsearch.yml : 엘라스틱서치와 관련된 대부분의 설정을 변경한다.
    • cluster.name: 클러스터를 구분하기 위한 이름을 설정한다. 클러스터의 이름이 같으면 같은 클러스터로, 다르면 다른 클러스터로 인식한다.
    • node.name: 노드를 구분하기 위한 이름을 지정한다. 기본은 호스트명이다.
    • node.attr.<key>: "<value>" : 노드 별 속성 지정을 위한 namespace를 설정한다. (hot/warm 또는 샤드 배치를 조정한다.)
    • path.data: 색인 데이터의 저장 경로를 지정한다.
    • path.logs: 엘라스틱서치의 로그의 저장 경로를 지정한다.
    • bootstrap.memory_lock: 엘라스틱서치의 힙 영역을 다른 자바 프로그램이 간섭하지 못하도록 설정한다. 항상 true 권장
    • network.host: 엘라스틱서치의 실행 서버의 ip 주소를 설정한다. default는 루프백이며, 실제 IP로 변경시 운영 모드로 변경된다.
      • 운영모드가 아닐 시 localhost에서만 접근 가능하며 부트스트랩 체크하지 않는다.
      • _local_: 루프백(127.0.0.1)을 의미한다.
      • _site_: 네트워크 내 private ip를 의미한다. 클러스터 구성 시 주로 사용된다.
      • _global_: 외부에서 보는 주소를 의미한다.
    • http.port: 클라이언트와 통신하기 위한 http의 포트를 지정한다. 기본은 9200, 이미 사용 중인 경우 9200~9299 범위에서 할당된다.
    • transport.port: 클러스터 내 노드 간 통신하기 위한 tcp 포트를 지정한다. 기본은 9300, 이미 사용 중인 경우 9300~9399 범위에서 할당된다.
    • discovery.seed_hosts: 클러스터의 구성을 위해 바인딩할 원격 노드의 ip 또는 도메인 네임의 리스트를 지정한다.
      • 주소만 입력 시 9300~9305 포트를 탐색한다.
      • 원격 노드를 찾아 클러스터로 바인딩되는 과정을 디스커버리라고 한다.
    • cluster.initial_master_nodes: 마스터 노드를 선출하기 위한 노드 목록을 지정한다.
    • elasticsearch.yml에서 $ 로 환경변수에 접근할 수 있다.

출처 : https://esbook.kimjmin.net

'엘라스틱서치' 카테고리의 다른 글

6. 데이터 색인과 텍스트 분석  (0) 2021.09.06
5. 검색과 쿼리  (0) 2021.09.05
4. 데이터 처리  (0) 2021.08.31
3. 시스템 구조  (0) 2021.08.31
1. 서문  (0) 2021.08.31