VirtualBox CentOS7에 엘라스틱스택 설치 방법

인터넷 연결이 가능한 CentOS7에서 wget으로 엘라스틱스택을 설치하는 방법입니다.

엘라스틱서치, 키바나, 로그스태시 모두 가장 최신 버전인 8.3.3을 설치하려 합니다.
엘라스틱서치 7.0 이상은 open-jdk가 포함되어 java 1.8이상 설치 및 JAVA_HOME 환경변수 설정이 필요 없습니다.


wget 패키지 설치

sudo yum install wget

wget 명령어로 rpm 파일을 다운받기 위해 yum으로 wget 패키지를 설치합니다.

wget 미설치 시 에러 메세지

-bash: wget: command not found

엘라스틱서치 설치 방법

엘라스틱서치 rpm 파일 다운

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.3.3-x86_64.rpm

엘라스틱 사이트에서 복사한 엘라스틱서치 최신 버전 rpm x86_64 다운로드 링크입니다.
‘View past releases’를 통해 이동하면, 이전 버전들의 링크도 얻을 수 있습니다.
User Home 경로에서 위 명령어를 입력하여 rpm 파일을 다운로드합니다.

rpm 파일 확인

ll

현재 경로에 정상 설치되었는지 확인합니다.

rpm 파일로 엘라스틱서치 설치

rpm -i elasticsearch-8.3.3-x86_64.rpm

엘라스틱서치 방화벽 허용

firewall-cmd --permanent --zone=public --add-port=9200/tcp           -- 방화벽에 9200 포트 추가 
firewall-cmd --permanent --zone=public --add-service=elasticsearch   -- 방화벽에 엘라스틱서치 서비스 추가
firewall-cmd --reload                                                -- 방화벽을 다시 로드하여 변경된 설정 반영
firewall-cmd --list-ports                                            -- 포트 확인

방화벽에 엘라스틱서치 기본 포트 9200을 추가합니다.

firewall-cmd: command not found 오류 해결

yum install firewalld
systemctl unmask firewalld
systemctl enable firewalld
systemctl start firewalld

위 명령어를 차례대로 입력 후 다시 firewall-cmd 명령어를 사용하면 됩니다.

엘라스틱서치 실행

systemctl start elasticsearch

실행 완료까지 조금 오래 걸릴 수 있습니다.

엘라스틱서치 실행 상태 확인

systemctl status elasticsearch

active (running) 으로 나오면 정상 실행 중입니다.
CGroup 부분에서 엘라스틱서치 설치 경로 (/usr/share/elasticsearch) 확인 가능합니다.

엘라스틱서치 정상 설치 확인

curl -X GET localhost:9200
또는
curl -X GET -u elastic localhost:9200

Empty reply from server라고 뜬다면 엘라스틱서치 최신 버전이라 보안 설정이 되어있어서 인증서와 비밀번호가 필요한 것입니다.

엘라스틱서치 보안 설정 해제

vi /etc/elasticsearch/elasticsearch.yml

하단의 xpack.security.enabled : true를 false로 변경해서 보안 설정을 풀고 재실행 시 데이터가 정상적으로 나옵니다.

엘라스틱서치 폴더 소유자 변경
일부 폴더 소유자를 잘못 변경하여 실행이 안 되는 경우, 초기 설치 기본값으로 소유자 변경하면 정상 작동합니다.

sudo chown -R elasticsearch:elasticsearch /var/log/elasticsearch (로그 경로)
sudo chown -R elasticsearch:elasticsearch /var/lib/elasticsearch (데이터 저장 경로)
sudo chown -R root:root /usr/share/elasticsearch (실행 파일 경로)
sudo chown -R root:elasticsearch /etc/sysconfig/elasticsearch (시스템 설정 파일 경로)
sudo chown -R root:elasticsearch /etc/elasticsearch (엘라스틱서치 설정 파일 경로)

키바나 설치 및 엘라스틱서치 연동 방법

Kibana rpm 파일 다운

wget https://artifacts.elastic.co/downloads/kibana/kibana-8.3.3-x86_64.rpm

rpm 파일로 Kibana 설치

rpm -i kibana-8.3.3-x86_64.rpm

키바나 방화벽 허용

firewall-cmd --permanent --zone=public --add-port=5601/tcp
firewall-cmd --reload
firewall-cmd --list-ports

위 명령어를 차례대로 실행 시, 9200/tcp 5601/tcp라고 나오면 정상입니다.

kibana 설정파일 수정

vi /etc/kibana/kibana.yml

아래처럼 주석 해제 및 수정하여 로컬에 설치된 엘라스틱서치와 연동합니다.

server.port: 5601
server.host: "0.0.0.0" # 자동으로 외부 IP 바인딩 설정
elasticsearch.hosts: ["http://localhost:9200"]

kibana 실행

systemctl start kibana

윈도우에서 http://서버IP:5601로 kibana 접속 시 GUI로 엘라스틱서치를 관리할 수 있습니다.
키바나 실행 후 접속 가능하기까지는 시간이 조금 걸릴 수 있습니다.


logstash 설치 방법

logstashrpm 파일 다운

wget https://artifacts.elastic.co/downloads/logstash/logstash-8.3.3-x86_64.rpm

rpm 파일로 logstash 설치

rpm -i logstash-8.3.3-x86_64.rpm

logstash 실행

systemctl start logstash

부팅 시 엘라스틱스택 자동실행 설정

systemctl enable elasticsearch
systemctl enable kibana
systemctl enable logstash

Leave a comment