Elasticseach를 설치해보자

Elasticseach 설치

ElasticSearch 설치 설명 문서가 매우 잘 되어 있다. 그대로 따라하면 될 정도이다. 여기에서는 몇가지만 기록해 두고자 한다.

특정 버전을 수동으로 다운받아 설치하는 경우를 가정하고 코드만 간략히 적어 본다.

# ElasticSearch 5.4.3 버전 설치를 가정함
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.3.deb
sudo dpkg -i elasticsearch-5.4.3.deb

브라우저에서 다운로드 할 경우에는 Past Releases 페이지에서 해당되는 버전을 다운로드 받아 설치한다.

ElasticSearch도 하나의 동립된 Server이기 때문에 부딩될 때 자동실행되어야 한다. 이에 대해서는 OS 상황에 따라 방법이 다르다. ps -p 1를 실행시켜 init이라고 나오는지 systemd라고 나오는지에 따라 아래와 같이 실행시켜 준다. elasticsearch 구동 방법도 양자가 다르다. 부팅 시 자동실행에 대해서는 이 글을 참고.

# init의 경우
## 자동실행을 위한 service 등록
sudo update-rc.d elasticsearch defaults 95 10

## service 제어
sudo -i service elasticsearch start
sudo -i service elasticsearch stop
sudo -i service elasticsearch status
# systemd의 경우
## 자동실행을 위한 system demon 등록
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service

## service 제어
sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service
sudo systemctl status elasticsearch.service

설치와 실행이 잘 되었는지 확인해 보자.

# systemd의 경우, system demon 상태 확인
sudo systemctl status elasticsearch.service
# systemd의 경우, log 확인
sudo journalctl --unit elasticsearch
# init의 경우, service 상태 확인
sudo -i service elasticsearch status
# server 동작 확인
curl -v localhost:9200

문제 없이 동작한다면, 잘 실행되고 있는 것이다.

Trouble shooting

발생할 수 있는 몇 가지 문제와 해결책을 적어 본다.

Java가 설치되어 있지 않은 경우

Elasticsearch는 Java 위에서 동작하게 되어 있기 때문에 machine에 JRE나 JDK가 설치되어 있어야 한다. java -version을 하여 설치를 확인한 뒤에, 설치되지 않았다면 설치한다. (설치 방법은 생략)

메모리가 부족한 경우

Elasticsearch 실행 시 Cannot allocate memory라는 에러 메시지가 나올 수 있다. Elasticsearch는 기본적으로 2G의 메모리를 할당하는데, 규모가 작은 서버의 경우에는 메모리가 부족하여 실행되지 않는다. 이 메시지는 Java 실행 시 메모리 할당 옵션을 주어 해결할 수 있지만, Elasticsearch가 Java를 호출하는 구조이기 때문에 Elasticsearch의 JVM setting을 수정하여 해결해야 한다.

/etc/elasticsearch/jvm.options 파일을 열어 메모리와 관련된 파라메터를 다음과 같이 수정한다.

-Xms512m
-Xmx512m
... ... ... ...
Back