본문 바로가기
Linux/RHEL

Elasticsearch Install 설치 systemctl 등록

by 썩석 2024. 12. 19.
반응형

 

Open JDK(Java) 설치

$ sudo yum -y update
$ sudo yum install -y java-1.8.0-openjdk

 

 

Java 경로 확인

$ cd /usr/lib/jvm
$ ll

/usr/lib/jvm 폴더로 이동 후 ll 명령어를 통해 폴더 확인

java-1.8.0-XXXX 폴더 경로 확인 후 복사

 

Java 환경변수 설정 및 적용

$ sudo vi /etc/profile

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.432.b06-2.el8.x86_64
export PATH=$PATH:$HOME:$JAVA_HOME/bin

$ source /etc/profile

 

Elasticsearch 설치

$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.2.tar.gz
$ tar -zxvf elasticsearch-6.7.2.tar.gz # 압축풀기

 

Elasticsearch 링크 걸기(선택사항)

$ ln -s elasticsearch-6.7.2 elasticsearch

 

 

 

Elasticsearch 설정 변경

$ vi elasticsearch/config/elasticsearch.yml

 

33 Line
path.data: /home/admin/elasticsearch/data # 절대경로

37 Line
path.logs: /home/admin/elasticsearch/logs

55 Line
network.host: 0.0.0.0

59 7 Line (선택사항)
http.port: 19200

마지막 줄 추가
http.cors.enabled: true # Cross Origin 에러 방지
http.cors.allow-origin: "*" # Cross Origin 에러 방지

 

 

Systemd 등록

$ sudo vi /etc/systemd/system/elasticsearch.service

[Unit]
Description=Elasticsearch
Documentation=http://www.elastic.co
Wants=network-online.target
After=network-online.target

[Service]
Environment=$JAVA_HOME
WorkingDirectory=/home/admin/elasticsearch # elasticsearch 경로

User=admin
Group=admin
ExecStart=/home/admin/elasticsearch/bin/elasticsearch --quiet

StandardOutput=journal
StandardError=inherit
LimitNOFILE=65536
TimeoutStopSec=0
KillSignal=SIGTERM
SendSIGKILL=no
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

 

Elasticsearch 시작

$ sudo systemctl daemon-reload
$ sudo systemctl start elasticsearch
$ sudo systemctl status elasticsearch

 

 

로그 확인

$ tail -f /home/admin/elasticsearch/logs/elasticsearch.log

 

 

설치 확인

$ curl localhost:19200
or 
$ nc -v localhost:19200

 

 

참고

$ sudo systemctl status elasticsearch

했을 때 에러 또는 실행이 안됐을 경우는 로그 확인

$ tail -f /home/admin/elasticsearch/logs/elasticsearch.log

 

 

로그 확인 -> 수정 -> 재시작

 

"max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]"

ChatGPT에 물어보니 "스템에서 한 프로세스가 가질 수 있는 최대 메모리 맵의 수를 제한하는 커널 파라미터입니다."

라고 한다.

 

다음 명령어로 해결 및 재시작

$ sudo sysctl -w vm.max_map_count=262144

$ sudo systemctl daemon-reload
$ sudo systemctl restart elasticseacrh

 

 

 

 

 

 

반응형