20240419

귤금·2024년 4월 19일

Node.js 4기 TIL

목록 보기
81/86

Elastic Search

ELK스택

ELK 스택은 Elasticsearch, Logstash, Kibana의 세 가지 주요 오픈 소스 프로젝트를 결합한 것. 이 세 가지는 협력하여 데이터의 수집, 색인화, 검색, 시각화 및 분석을 가능하게 하는 로그 관리 및 분석 솔루션을 제공한다.

ELK 스택은 주로 로그 및 시간 기반 데이터를 분석하는 데 사용되며, 다양한 용도로 확장 가능하다.

ELK 스택은 Elasticsearch, Logstash, Kibana의 세 가지 주요 오픈 소스 프로젝트를 결합한 것입니다. 이들은 협력하여 데이터의 수집, 색인화, 검색, 시각화 및 분석을 가능하게 하는 강력한 로그 관리 및 분석 솔루션을 제공합니다. ELK 스택은 주로 로그 및 시간 기반 데이터를 분석하는 데 사용되며, 다양한 용도로 확장 가능합니다.

ELK 스택의 각 구성 요소

Elasticsearch

분산 검색 및 분석 엔진으로, 대규모 데이터를 신속하게, 거의 실시간에 가깝게 처리할 수 있다. 데이터는 Elasticsearch에 JSON 문서 형태로 저장되며, Lucene 기반의 색인을 사용하여 빠르게 검색할 수 있.

Logstash

데이터 수집 파이프라인 도구로, 다양한 소스에서 데이터를 수집하고 변환하여 Elasticsearch에 전달한다. 로그, 시스템 메트릭, 웹 애플리케이션, 데이터 저장소 등에서 데이터를 추출할 수 있으며, 필터를 통해 데이터를 처리하고 enrich 시킬 수 있다.

Kibana

Elasticsearch에 저장된 데이터를 시각화하고 탐색하기 위한 웹 기반 인터페이스를 제공한다. 대시보드를 통해 데이터를 그래프, 차트, 맵 등 다양한 형태로 시각화할 수 있으며, Elasticsearch 데이터를 직관적으로 분석할 수 있도록 도와줌

엘라스틱 서치란?

Elastic Search는 키워드가 어떤 Document에 있다고 저장하는 방식입니다. 해쉬 테이블 방식이어서 BigO 표기법에 따르면 검색시, O(1)의 효과를 냄. 반면 Relational DB의 경우, 텍스트 검색시 문서 개수만큼 연산이 수행되기때문에 O(n)의 빅오 노테이션을 갖는다.

출처 블로그

Elasticsearch는 자바로 개발되었고, 자바 애플리케이션이므로 실행되기 위해 JVM이 필요하다.
Mac 환경이기 때문에 Homebrew를 이용하였음.

# 최신 OpenJDK 버전 설치
brew install openjdk

# 특정 버전 OpenJDK 설치
brew tap AdoptOpenJDK/openjdk
brew install --cask adoptopenjdk8

나는 최신 버전으로 설치해줌...

다음은 엘라스틱 서치를 설치해준다. 나는 MacOS 설치법을 보고 설치했고, 다양한 설치법이 공식 문서에 안내되어 있다. docker로도 세팅할 수 있는 모양...
공식 문서 : MacOS에서 Elastic Search 설치하기
공식 문서 : Window zip으로 Elastic Search 설치하기

brew tap elastic/tap
brew install elastic/tap/elasticsearch-full

설치된 Elastic Search 실행하기

brew services start elastic/tap/elasticsearch-full

#리스타트
brew services restart elastic/tap/elasticsearch-full

그런데 다음과 같은 에러가 발생했다.

brew services list
brew services stop elastic/tap/elasticsearch-full

서비스 중지하고 재실행하니까 되긴 했는데(실행 중인데 또 실행시켜서 문제였던 듯)
이번에는 이런 에러가 발생했다...

미쳐버리겠네...

sudo spctl --master-disable
sudo spctl --master-enable

아... 삽질한 것 같다... aws에서 세팅하면 됐는데... ㅠㅠㅋㅋㅋㅋㅋㅋ

0개의 댓글