Elastic Search 설치하기


ES 7.4 버전 기준입니다.


사전 준비 사항

Elastic Search(ES) 는 Java 로 개발되었으므로 사전에 JDK 를 설치해야 하며 버전별 JVM 지원 매트릭스는 https://www.elastic.co/support/matrix#matrix_jvm 에서 볼수 있습니다.


ES 6.4 이하를 사용할 경우 JDK 1.8를 ES 6.5 이상을 사용할 경우는 JDK 11 을 권장합니다.


설치

apt 나 yum 같은 패키지 매니저를 통한 설치보다는 ES 사의 홈페이지에서 직접 다운받거나 docker 로 설치하는 것을 권장합니다.



  1. ES 홈페이지에서 설치 파일을 다운로드 받습니다. Linux 에 설치할 경우 아래의 명령어로 콘솔에서 다운받으면 됩니다.

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.2-linux-x86_64.tar.gz
  2. 압축을 해제 합니다.

    tar zxvf elasticsearch*.tar.gz
  3. ES 디렉터리로 이동한 후에 에디터로 config 폴더 밑에 설정 파일을 연후에 수정합니다.(vi config/elasticsearch.yml)

  4. 단일 노드에서 기본 설정으로 사용할 경우는 변경할 필요가 없습니다. ES 가 사용할 포트(기본 9100) 을 변경할 경우 http.port 항목을 수정합니다.

    ## node 설정. 하나만 사용할 경우 무시 
     
    #cluster.name: myES_Cluster
    #node.name: ESNODE_CYR
    #node.master: true
    #node.data: true
    
    # 기본 bind 호스트 (transport.host 도 설정할 것)
    # 기본 localhost
    # network.host: _local_,_enp5s0f0:ipv4_, _enp5s0f1:ipv4_
    http.port: 9100
    
    # node 간 데이타 전송용 포트
    # 기본 9300 ~ 9400
    # transport.tcp.port: 9300
  5. vi config/jvm.options 를 실행해 ES 를 구동할 때 사용할 Java VM 옵션을 설정합니다. 아래는 최소/최대 Heap Size 를 4G 로 설정하는 예제입니다.

    -Xms4g
    -Xmx4g
  6. 설정이 끝났으면 ES 를 시작합니다.

    ./bin/elasticsearch
  7. 프로세스의 정상 구동 여부를 jps 명령어로 확인해 봅니다.

    $ jps | grep Elasticsearch
     
    10044 Elasticsearch

    Elasticsearch 의 맨 앞자는 대문자여야 합니다.

  8. ES 가 설치된 서버의 9200 포트로 연결해서 Elastic 정보가 표시되는지 확인합니다.

  9. 데몬으로 구동한 ES를 종료할 경우 다음 스크립트를 사용합니다.

    jps | grep Elasticsearch | awk '{print "kill -TERM "$1}'|sh -x


설정

Nori 한글 형태소 엔진 설치

  1. 노리 플러그인을 설치합니다.

    ./bin/elasticsearch-plugin install analysis-nori
  2. ES 를 재시작합니다.

    jps | grep Elasticsearch | awk '{print "kill -TERM "$1}'|sh -x
    ./bin/elasticsearch 
  3. nori plugin 의 로딩 여부 확인합니다.

    $ grep nori logs/elasticsearch.log
     
    [2019-10-31T11:33:29,272][INFO ][o.e.p.PluginsService     ] [CCG05cR] loaded plugin [analysis-nori]


daemon mode로 구동


ES 는 서비스로 계속 구동시켜야 하므로 데몬 모드로 동작시키는 게 필요합니다.

ES 구동시 -d 옵션을 주면 daemon mode 로 실행할 수 있습니다.

$ ./bin/elasticsearch -d


Windows Service 등록

Windows 에서 사용할 경우 Windows 의 Service 로 등록하려면 다음 명령을 사용하세요.

.\bin\elasticsearch-service.bat install


Windows 서비스로 사용시 JAVA_HOME 환경 변수를 못 찾아서 기동이 안 되는 경우가 있습니다.

.\bin\elasticsearch-service.bat manager

이럴 경우 위 명령어로 서비스 매니저를 띄우고 Java  탭에서 JVM  의 경로를 절대 경로로 설정해 주면 됩니다.



Trouble Shooting

bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks

transport.host 와 network.host 가 잘못 설정되었을 경우 발생합니다


See Also

Ref