ElasticSearch 7.13 설치

ElasticSearch 7.13 으로 넘어오면서 변화가 있었다. 그중에는 Node Type 이 없어지고 이제는 Node Role 로 바뀌었다. 6.4 에서 다양하게 있었던 Node Type 은 비교적 대거 정리가 된 느낌이다.

Node Role

Node Role 은 ElasticSearch 7.13 의 설정 파일인 elasticsearch.yml 파일에서 정의하도록 되어 있는데, 여기에 정의할 수 있는 목록은 다음과 같다.

  • master
  • data
  • data_content
  • data_hot
  • data_warm
  • data_cold
  • data_frozen
  • ingest
  • ml
  • remote_cluster_client
  • transform

필요한 것이 master, data 정도라고 보면 된다. 하나의 노드에 다양한 Role 를 부여할 수 있다. 형식은 다음과 같다.

roles 지정을 하지 않을 경우에 위에 나열한 모든 roles 을 수행할 수 있다.

Single-node

ElasticSearch 는 다중 노드를 필요로 한다. 이것은 강제 사항으로 적어도 2개 이상을 필요하게 된다. 하지만 개발을 위해서라면 하나가지고 할 수 있어야 하는데, 이럴때는 다음과 같이 해준다.

Node

Master 노드는 CRUD 를 담당 한다. 적어도 2개 이상의 노드를 반드시 필요로 한다.

노드가 여러개 일경우에 이들이 서로 알아볼 수 있도록 통신을 해야 하는데, 다음의 설정으로 포트를 지정할 수 있다.

  • transport.profiles.default.port
  • transport.port

순서대로 체킹을 하게 된다. 별도로 지정하지 않으면 기본 포트를 가지고 서로 찾게 된다. 기본 포트는 9300 이다.

ES_ 환경변수

ElasticSearch 7.13 에서도 ES_ 환경변수는 존재한다. 이를 이용하면 하나의 ElasticSearch 패키지를 가지고 여러개의 ES 를 생성할 수 있다.

설치 계획

설치 계획은 다음과 같다.

  • Master Node: 3 개
  • Data Node: 2 개

Master 설치

설치는 ElasticSearch 멀티 인스턴스를 이용한다. 각각의 인스턴스 디렉토리명은 다음과 같다.

  • es-master-1, es-master-2, es-master-3

먼저 es-master-1 생성해 보자. 디렉토리를 생성한다.

설정은 config 디렉토리에 elasticsearch.yml 을 다음과 같이 편집한다.

포트를 달리하면서 es-master-2, es-master-3 도 세팅을 해준다.

Data 노드 설치

es-master-1 을 복사해서 es-data-1, es-data-2 두개를 만든다. es-data-1 의 설정은 다음과 같다.

startup.sh, shutdown.sh 스크립트

startup.sh 스크립트는 다음과 같다.

shutdown.sh 스크립트는 다음과 같다.

위 스크립트를 각 인스턴스 bin 디렉토리에 넣고 경로를 수정해서 실행하면 된다.

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">