Acdong
Learn by doing
Acdong
전체 방문자
오늘
어제
  • 분류 전체보기
    • Economy
      • Saving Money
    • Self-improvement
    • Thoughts
    • Machine learning
      • Deep Learning
      • Chatbot
      • NLP
    • MLops
      • AWS
      • Container
      • Serving
    • Computer Vision
    • Data Science
      • ADsP
      • R
    • Project
    • Python
      • Data Structure & Algorithm
    • C,C++
    • API
      • ElasticSearch
    • Error Note
    • Network
    • RDBMS
      • SQL

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • [GitHub]

인기 글

태그

  • 다중공선성
  • 존댓말 반말 분류
  • SentenceTransformer
  • R그래프
  • 포인터
  • c포인터
  • 회귀계수
  • nlp
  • plot()
  • 기계학습
  • R
  • R시각화
  • 이미지 전처리
  • 어텐션
  • Numpy
  • 데이터 전처리
  • pandas
  • sbert
  • 머신러닝
  • Python

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Acdong

Learn by doing

API/ElasticSearch

[ElasticSearch]. 크론탭(crontab)으로 리눅스 서버 꺼지면 자동 재실행 하기

2022. 8. 14. 15:28
728x90

나는 현재 엘라스틱 서치 8.1.2 버전을 사용중이고 3개의 클라우드 서버(AWS EC2)를 바인딩하여 사용중이다.

 

elasticsearch node 1 : 4GB , 2cpu  t3.medium

elasticsearch node 2 : 2GB , 2cpu t3.small

elasticsearch node 3 : 2GB , 2cpu t3.small

 

문제 발생 :

 - 상대적으로 저 스펙인 (노드2) 와 (노드3) 서버가 자주 꺼지는 문제 발생

 

문제를 해결하기 위해 elasticsearch.log 를 살펴보았지만 원인을 찾기 어려웠다.. 계속 디버깅중...

그래서 임시방편이기도 하면서 제일 간단한 방법인 죽으면 자동으로 다시 실행시키는 방법을 적용해보기로했다.

 

리눅스에는 크론탭(crontab)이라고해서 자동으로 스케줄링해주는 도구가 있다.

이를 활용해서 적용해보고자 한다.


Bash 파일 ( 쉘 스크립트 작성하기 )

크론탭을 적용하기 위해선 일단 커멘드 명령어의 집합인 bash 파일을 작성해야한다.

 

엘라스틱 서치 백그라운드(데몬)실행

vi start.sh
/home/{user}/{es_dir}/bin/elasticsearch -d -p es.pid

 

엘라스틱 서치 재실행

vi restart.sh
#!/bin/sh

# 엘라스틱 서치로 시작하는 프로세스 확인
pid=`ps -ef | grep "elasticsearch" | grep -v 'grep' | awk '{print $2}'`

# 엘라스틱 서치 프로세스가 죽었으면 start.sh 실행
if [ -z $pid ]; 
then
	echo $(date)
	bash /home/{user}/{es_dir}/start.sh
	echo ""
fi

 

실행권한 변경 ( 실행 권한이 있어야 실행할 수 있다. )

chmod 755 *.sh

크론탭(crontab) 적용하기

crontab -e
0 */1 * * * bash /home/{user}/{es_dir}/restart.sh >> /home/{user}/{es_dir}/elastic_restart.log

 

위 크론탭 명령어의 해석은 

매시간(정각)마다 restart.sh 파일을 실행시키라는 명령어이고 실행 로그를 저장하는 명령어이다.

크론탭 명령어의 자세한 내용은 다른 자료를 찾아보시면 다양하게 나와있습니다.

반응형
저작자표시 비영리 (새창열림)

'API > ElasticSearch' 카테고리의 다른 글

[ElasticSearch]. 한국어 형태소 분석기 nori_analyzer 사용하기  (0) 2022.12.05
[ElasticSearch]. 다중 검색 종류 비교 : 비동기 검색(async_search) VS 멀티 서치(msearch)  (0) 2022.08.23
[ElasticSearch] SSL/TLS security https setting 외부에서 접속하기( version 8.x)  (0) 2022.04.06
[elasticSearch] 엘라스틱 서치 클라우드 배포 &셋팅하기  (0) 2022.03.11
[ElasticSearch]. 개발하면서 발견한 특징들  (0) 2022.02.24
    'API/ElasticSearch' 카테고리의 다른 글
    • [ElasticSearch]. 한국어 형태소 분석기 nori_analyzer 사용하기
    • [ElasticSearch]. 다중 검색 종류 비교 : 비동기 검색(async_search) VS 멀티 서치(msearch)
    • [ElasticSearch] SSL/TLS security https setting 외부에서 접속하기( version 8.x)
    • [elasticSearch] 엘라스틱 서치 클라우드 배포 &셋팅하기
    Acdong
    Acdong
    E-mail : alswhddh@naver.com / 자연어처리와 MLops 를 연구하고 있는 스타트업 개발자입니다.

    티스토리툴바