Elasticsearch 설치 및 외부 허용 설정하기 #1
반응형

 

안녕하세요😁

유유자적한 개발자 유로띠 입니다 😉

 

오늘은

ELK

E에 해당하는

Elasticsearch에 대해 포스팅해보도록 하겠습니다

 

👏👏👏👏

 


What is Elasticsearch

텍스트, 숫자, 위치 기반 정보, 정형 및 비정형 데이터 등 모든 유형의 데이터를

위한 분산형 오픈 소스 검색분석 엔진입니다

또한 데이터 수집, 보강, 저장, 분석, 시각화를 위한 오픈 소스 도구 모음인

Elastic Stack의 중심 구성 요소입니다

 

 

이번 포스팅에서는

✅ Elasticsearch 설치

✅ Elasticsearch 외부 허용

에 대해서

알아봅시다 🔎


📢Download Elasticsearch

 

Elasticsearch를 다운을 받아봅시다

 

Elasticsearch 다운로드 경로입니다

https://www.elastic.co/kr/downloads/elasticsearch

 

다양한 Downloads 방식을 보시면 windows, linux, rpm, deb 등

다양한 다운로드를 제공하고 있습니다

보통

CentOS 계열은 rpm

ubuntu 계열은 deb

설치 패키지를 사용합니다

 

 

📍 DEB install

DEB 버튼을 선택하면 elasticsearch-7.6.2-amd64.deb 파일을 받을 수 있습니다

설치 서버에 파일을 옮긴 후 설치를 진행합니다

dpkg -i elasticsearch-7.6.2-amd64.deb

 

📍 RPM install

RPM 버튼을 선택하면 elasticsearch-7.6.2-x86_64.rpm 파일을 받을 수 있습니다

설치 서버에 파일을 옮긴 후 설치를 진행합니다

rpm -i elasticsearch-7.6.2-x86_64.rpm

 

elasticsearch 설치가 완료되었습니다

그럼 설정 및 기동을 해보겠습니다


📢Get Started Elasticsearch

 

 

 

✅ 방화벽 설정

elasticsearch의 경우 9200 port를 허용해야 합니다

aws인 경우 ec2 - 보안 그룹 - 인바운드 규칙 를 수정하시면 되고 개인적인 서버나 가상 머신의 경우 아래처럼 설정하시면 됩니다

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

 

 

Elasticsearch 생성 경로 확인

/usr/share/elasticsearch

/etc/elasticsearch

/etc/init.d/elasticsearch

 

Elasticsearch start

service elasticsearch start

 

 

Elasticsearch Check

설치가 정상적으로 진행되었는지 curl를 이용하여 확인을 해보겠습니다

curl -XGET 127.0.0.1:9200

 

💡 참고

elasticsearch는 기본적으로 설치된 서버에서만 통신이 가능하게 설정되어있습니다

netstat -an | grep 9200

 

외부에서 접속을 허용하기 위해서

elasticsearch 설정 파일을 수정해보도록 하겠습니다


📢Elasticsearch 외부 접속 허용

 

 

 

✅ 설정 파일 경로

vi /etc/elasticsearch/elasticsearch.yml

 

📍 elasticsearch.yml 수정

 

외부 허용을 위해 기존 network.host: 192.168.0.1 👉 network.host: 0.0.0.0으로 변경합니다

그리고 cluster.initial_master_nodes의 주석(#)을 제거하여 줍니다

# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
#network.host: 192.168.0.1
network.host: 0.0.0.0
#
# Set a custom port for HTTP:
#
#http.port: 9200
#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when this node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
#discovery.seed_hosts: ["host1", "host2"]
#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#
cluster.initial_master_nodes: ["node-1", "node-2"]
#
# For more information, consult the discovery and cluster formation module documentation.
#

 

elasticsearch 재기동

elasticsearch를 재기동 후에 netstat로 확인해 보도록 하겠습니다 🔎

service elasticsearch restart

모든 네트워크에 접속 가능하도록 변경된 걸 확인할 수 있습니다

 

웹 주소창에 http://<ip주소>:9200를 입력하시면 curl과 동일한 화면이 출력됩니다

 

 


 

📢마무리

 

이상

Elasticsearch 설치 및 외부 접속 허용에 대해서

알아보았습니다 🧐

 

다음 포스팅은 

kibana 설치에 대해서 

작성해보도록 하겠습니다

👏👏👏

 

반응형