[2021.06.15] 인턴 +106 구글 클라우드에서 ELK install (tar.gz 설치 방법 및 elasticsearch 데몬으로 실행 방법)
알아 두면 좋은점
★★★ 7.11 version 위의 부터는 jdk가 포함되어 있기 때문에 java를 따로 설치 안해줘도 됨. ★★★
elasticsearch를 실행할 때 port를 2개 사용함
-> 9200 : 각 노드끼리 통신하는데 사용
-> 9300 : 클라이언트에 연결하는데 사용
https://injekim97.tistory.com/243?category=936465
이때 까지 작성한 POST 환경
* AWS & Azure -> Virtual Machine -> key(.pem) 파일을 제공 하였음
* 또한, ELK를 설치 할 때, .deb 파일로 설치 하였음.
하지만 ,이번에는 다른 방식으로 ELK를 설치하려고 함.
* 설치 환경 : Google Cloud -> key 파일을 제공하지 않아 직접 만들어서 들어가야함.
* ELK 설치 할 때, .deb 파일이 아닌, tar.gz로 설치함.
https://injekim97.tistory.com/268?category=953115
-> 위의 링크는 Google Cloud에서 key파일을 직접 만들어, 접속하는 방법임(순서대로 따라 할 것)
------------------------------------------------------------------------------------------------------------------------------
* 참고로 wget명령어를 수행하기 위해선 아래와 같은 명령어를 사용하여, 설치 해야 wget명령어 사용가능함
sudo yum install wget
* 차례 대로 보면 설치 전에는 wget명령어를 사용할 수 없다가, 설치 후엔 사용할 수 있다.
------------------------------------------------------------------------------------------------------------------
자, 이때 까지 설치 했던 환경과 다른 구글 클라우드에서 ELK를 설치해보자.
우선, 아래의 링크를 클릭하여, 다운로드 페이지로 이동한다.
* 해당 게시글 작성기준으로 버전은 7.13.2
-> 해당 다운로드 페이지에서 LINUX_X86_64 마우스 커서를 가져놓음
* 그럼 7시 방향에 링크주소가뜨는데 이것의 링크주소를 복사한 후 wget 명령어를 사용해서 다운로드함.
elasticsearch
-> https://www.elastic.co/kr/downloads/elasticsearch
Kibana
-> www.elastic.co/kr/downloads/kibana
Logstash
-> www.elastic.co/kr/downloads/logstash
아래의 명령어 복붙해서 사용(Linux_X86_64 = tar.gz)
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.2-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.13.2-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.13.2-linux-x86_64.tar.gz
* tar.gz의 파일을 압축해제 하기 위해선?
tar xfz 파일명(tar.gz)
tar xfz elasticsearch-7.13.2-linux-x86_64.tar.gz
-> 압축을 풀고, mv로 폴더 명을 수정해줌.
mv 원래이름 바꿀이름
elasticsearch 실행방법
-> elasticsearch 폴더로 이동 후, bin/elasticsearch
curl -XGET "localhost:9200"
-> 해당 화면을 보면 제대로 설치 되었다는 것을 알 수 있다.
우선, elasticsearch를 종료
--------------------------------------------------------------------------------------------------------------------------
* nano를 사용하기 위해선?
sudo yum install nano
* node 이름과 cluster 이름을 변경해주기 위해선?
elasticsearch/config/elasticsearch.yml 파일을 수정해야함. (빨간색 부분 추가)
cluster.name: "elk-cluster-1"
node.name: "node-1"
-> 위의 사진은 node 이름과 , cluster 이름을 바꾸기 전
-> 아래의 사진은 node 이름과 cluster 이름을 바꾼 후의 모습
* elasticsearch 실행 시 -d 옵션을 추가하면?
-> 실행되는 로그를 안보여주며, 계속 실행됨
-> 꼭 elasticsearch 디렉토리로 이동 (즉, /home/injekim97/elk/elasticsearch7.13.2) 후 아래 명령어 수행
bin/elasticsearch -d
* 잘 실행되고 싶은지 확인하려면?
-> 꼭 elasticsearch 디렉토리로 이동 (즉, /home/injekim97/elk/elasticsearch7.13.2) 후 아래 명령어 수행
tail -f logs/elk-cluster-1.log
* 종료하려면?
ps - ef | grep elasticsearch
-> 나온 pid 값을 kill -9 pid 로 하면 종료됨
* 데몬(demon)이란?
-> 리눅스 시스템이 처음 가동될 때 실행되는 백그라운드 프로세스를 뜻함.
즉, 메모리에 상주하면서 특정 요청이 오면 즉시 대응 할 수 있도록 대기중인 프로세스
<★★★★★ elastic-demon 실행 및 종료하는 방법 ★★★★★>
-> elasticsearch 디렉토리로 이동
bin/elasticsearch -d -p es.pid
-> 위의 명령어를 그대로 수행, 실행에 -p es.pid를 붙이면 elasticsearch를 실행한 pid를 es.pid에 저장한다는 뜻
cat es.pid
-> elasticsearch를 실행한 pid를 출력함
<실행한 elasticsearch pid와 똑같다는 것을 확인할 수 있음>
* elasticsearch 실행시, 만든 pid로 종료하는 방법
kill `cat es.pid'
-> 출력한 pid 값으로 죵료한다는 뜻
-> 종료되면 es.pid 파일이 삭제됨
----------------------------------------------------------------------------------------------------------------
자,이제 본격적으로 elasticsearch의 실행 쉘과 종료 쉘을 만들어 보자.
<elastic-demon 으로 실행하는 쉘과 종료하는 쉘 만드는 방법>
<실행 쉘>
1. vi start.sh
2. start.sh에 아래와 같은 명령어 적어준 후, 저장
bin/elasticsearch -d -p es.pid
<종료 쉘>
1. vi stop.sh
2. stop.sh에 아래와 같은 명령어 적어줌
kill `cat es.pid`
<방금 만든 실행 쉘 & 종료 쉘 권한 부여>
-> 방금만든 파일에 실행권한이 없다.
chmod 755 *.sh
-> 방금 만든 파일(start.sh, stop.sh)에 실행권한이 생겼다.
이제 ./start.sh , ./stop.sh로 elasticsearch를 데몬으로 실행 및 종료할 수 있게 되었다.
댓글