안녕하세요😁
유유자적한 개발자 유로띠 입니다 😉
오늘은
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 설치에 대해서
작성해보도록 하겠습니다
👏👏👏
'Programming > ELK' 카테고리의 다른 글
[ELK] Kibana 보안 연결을 위한 SSL를 적용 해보자 #6 (2) | 2020.04.30 |
---|---|
[ELK] KIBANA를 이용하여 데이터를 👁🗨시각화 해보자 #5 (2) | 2020.04.23 |
[ELK] Logstash 사용하기 📌시각화를 위한 설정 📌JDBC 상세 설정 #4 (3) | 2020.04.21 |
[ELK] Logstash 설치하기 #3 (4) | 2020.04.17 |
[ELK] KIBANA 설치하기 #2 (0) | 2020.04.16 |