본문 바로가기

인프라,데이터/Elasticsearch, Logstash, Kibana

엘라스틱서치를 시작할때 systemctl을 쓰지 말자!

엘라스틱서치나 키바나를 실행할 때 systemctl은 웬만하면 쓰지 않는 게 좋다고 사수가 그랬다.

sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service

아니, rpm으로 엘라스틱서치 설치하면 콘솔창에서 위 명령어로 시작하라고 알려주는데, 왜일까 궁금했다.

이유를 찾아보니, 위의 방식으로 엘라스틱서치를 사용하면 시스템이 부팅될 때 자동으로 엘라스틱서치가 시작하도록 설정하는 것이며, 

이 명령어는 엘라스틱서치가 성공적으로 시작했는지 아닌지에 대한 피드백을 제공하지 않기 때문이었다.
대신, 이 정보는 var/log/elasticsearch/ 의 로그 파일에 쓰여진다.

또한, 함께 사용할 수 없는 패키지도 많기 때문이다.

./bin/elasticsearch

대신에 이 명령으로 엘라스틱서치를 시작하는 편이 좋다.
엘라스틱서치 문서에 가장 처음으로 나와 있는 방법이기도 하다.

위 명령의 장점은 pid 파일이 생성되어, 쉘 스크립트로 서버에 엘라스틱서치가 띄워져 있는지 아닌지 판별하기 쉽다는 점이 있다.

위 명령어를 사용할 때는 root 계정 외의 다른 유저로 접속해야 한다.

위 명령어가 실행되지 않는다면, 

/usr/share/elasticsearch/bin/elasticsearch

로 하면 된다. 

 

출처

https://www.elastic.co/guide/en/elasticsearch/reference/current/starting-elasticsearch.html