Etc.

Elasticsearch 다운로드 및 실행

Accept 2024. 1. 27. 21:17

해당 문서에서는 ElasticSearch를 Linux VM에 설치하고 운영하는 기본적인 방법에 대한 내용을 포함합니다. 주로 다루는 내용은 아래와 같습니다.

  • ElasticSearch 다운로드 및 압축 해제
  • :9200(http), :9300(tcp) 사용 포트 설명
  • bin/elasticsearch를 이용한 실행
  • config/elasticsearch.yml 설정 파일 설명
  • curl 명령을 통한 프로세스 실행 상태 확인
  • start.sh, stop.sh 시작&종료 스크립트 파일 만들기

 

 

* wget 설치
sudo yum install wget




* elasticsearch 다운로드
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.11.3-linux-x86_64.tar.gz

* kibana 다운로드
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.11.3-linux-x86_64.tar.gz

elasticsearch와 kibana는 동일한 버전으로 설치해주세요.




* elasticsearch, kibana 압축 해제
tar xfz elasticsearch-8.11.3-linux-x86_64.tar.gz
tar xfz kibana-8.11.3-linux-x86_64.tar.gz



* bin/elasticsearch 실행
bin/elesticsearch

elasticsearch가 실행되면 9200, 9300 포트를 점유하게됩니다.
9200 포트를 통해 http을 이용해 클라이언트와 통신하고, 9300을 이용해 다른 노드와 통신을 하게됩니다.




* curl를 통해 실행 상태를 확인할 수 있습니다.
curl -XGET localhost:9200 또는 9300




* config/elasticsearch.yml 설정
cluster.name: "클러스 이름"
node.name: "노드 이름"
path.dat: /path/to/data -> 데이터를 저장할 경로(실제 운영 시 운영 경로와 데이터 저장 경로를 구분하는게 좋음)
path.logs: /path/to/logs -> 로그를 저장할 경로
http.port: 9200 -> 9200이 기본값이지만 실제 운영 환경에서는 보안과 해킹 예방을 위해 다른 포트 번호로 변경하는게 안전
cluster.initial_master_nodes: ["node-1", "node-2"] -> 마스터 노드가 될 후보들을 입력

yml 설정 변경 후 ./elasticsearch를 통해 재실행해야 관련 yml 설정이 반영되며, 이후 logs 디렉토리에서 elasticsearch.log를 통해 초기 엘라스틱 서치 실행 시 생성된 로그 기록, es-cluster-1.log를 통해 운영 시 발생된 로그 정보를 확인할 수 있습니다.




* 엘라스틱 서치 백그라운드 실행
bin/elasticsearch -d -> 백그라운드 데몬을 통한 실행
bin/elasticsearch -d -p es.pid -> 백그라운드로 실행되며, es.pid 파일에 elasticsearch 프로세스의 pid를 포함한 es.pid 파일이 현재 경로에 생성됩니다.

-d -p es.pid 명령어로 실행한 경우, kill cat es.pid 명령어로 별도의 pid를 알 필요 없이 백그라운드에 실행된 프로세스를 종료할 수 있습니다.




* start.sh 생성(필요시)
bin/elasticsearch -d -p es.pid

* stop.sh 생성(필요시)
kill cat es.pid

* 생성한 start.sh, stop.sh에 실행 권한 부여(필요시)
chmod 755 *.sh

* sh를 통한 elasticsearch 백그라운드 실행(필요시)
./start.sh

* sh를 통한 elasticsearch 백그라운드 종료(필요시)
./stop.sh

'Etc.' 카테고리의 다른 글

[Git] 내가 자주 쓰는 명령어  (0) 2024.01.27
[Coding] 한가지만 하라  (0) 2024.01.27
[Coding] 의도를 분명하게 하라  (0) 2024.01.27
Git 기본 명령어  (0) 2023.07.09
SSL 인증서 변환(crt, pfx, jks 변환 과정)  (0) 2023.01.05