Elasticsearch 설치하기

설치하기

Single Cluster로 구성하기

  1. 최신 버전의 Java 설치
  2. Elasticsearch download link
  3. 압축풀기
  4. 끝 !

Java는 설치되어 있다는 가정하에 elasticsearch를 설치해보자.
일단 공식 홈페이지에서 압축파일을 받아야 한다. (현재 최신 버전은 1.6.0)

wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.6.0.tar.gz

을 통해 파일을 받고

tar zxvf elasticsearch-1.6.0.tar.gz

으로 압축을 푼다. 자 이러면 설치가 끝났다. 너무 쉬워서 설치가 되었는지 불안하므로 확인을 해보자

설치 폴더에서

./bin/elasticsearch

명령어로 elasticsearch를 실행시켜보자 (-d 옵션을 주면 백그라운드 daemon으로 실행되게 된다)

일련의 메시지가 출력되고 elasticsearch가 실행되었다.

elasticsearch가 제공하는 REST API를 통해서 잘 동작하고 있는지 확인해보자.

curl 'http://localhost:9200/?pretty'

를 실행하면 다음과 같은 메시지가 출력된다.

{
  "status" : 200,
  "name" : "Coach",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "1.6.0",
    "build_hash" : "cdd3ac4dde4f69524ec0a14de3828cb95bbb86d0",
    "build_timestamp" : "2015-06-09T13:36:34Z",
    "build_snapshot" : false,
    "lucene_version" : "4.10.4"
  },
  "tagline" : "You Know, for Search"
}

이 출력값의 의미는 Elasticsearch cluster가 동작하고 있다는 의미이다.

Multi Cluster로 구성하기

용어를 정리하고 시작하자.
Node
동작하고 있는 elasticsearch의 인스턴스
Cluster
같은 cluster.name을 갖고 있는 데이터를 공유하고 failover를 방지하고 스케일 아웃되는 노드들의 그룹

즉 같은 cluster로 구성하고 싶다면 같은 네트워크 안에서 같은 cluster.name1 으로 구성하고 elasticsearch를 재시작하면 cluster.name이 같은 것 끼리 clustering 된다.

실제로 클러스터 구성을 해보자.
실습은 Ubuntu 14.04.1, Java 1.7에서 하겠다.

일단 기본 cluster.name은 default 값으로 elasticsearch로 설정되어 있고 이 디폴트 값을 그대로 사용하자.

첫번째 노드를 실행하면 그 노드는 마스터 노드로 정의되며 다음과 같은 메시지를 볼 수 있다.

K-8

두번째 노드를 실행하면 포트 9200을 통해 자동으로 master 노드가 있는지 확인한 후 자신을 클러스터에 등록한다.
K-6

두번째 노드가 클러스터에 추가된 후 첫번째 노드로 가서 확인해보면 다른 노드가 클러스터에 등록된 것을 확인할 수 있다.
K-10

끝내기

노드를 정지할 때는 다음과 같이 요청하면 된다.

curl -XPOST 'http://localhost:9200/_shutdown'

  1. config/ 폴더 안에 elasticsearch.yml파일에 있다 
태그 지정됨 , ,

댓글 남기기