본문 바로가기
[AWS]

ELK 스택 (ElasticSearch, Logstash, Kibana) 으로 데이터 분석

by SAMSUNG CLOUD-OKY 2020. 6. 11.
반응형

이 강의는

ElasticSearch, LogStash, Kibana 기초부터 설명합니다.


최종단계로 ELK 스택을 활용하여, 세계 인구 분석, 주식 분석을 하시는 본인의 모습을 발견하실 있습니다.

 

 

 

## 섹션1. 데이터 과학 소개

 

 

 

 

 

 

 

 

 

 

## 어떠한 데이터든 수집하여 시각화하는 것이 목표

  • 빅데이터 수집을 구현할 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 엘라스틱서치의 빠른 검색으로 키바나에서 시각화 가능

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

## 섹션1. 우분투에 엘라스틱서치 설치하기

 

  • 우분투 16.04 설치

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 우분투용 JDK 설치 명령어

 

 

  1. Sudo add-apt-repository -y ppa:webupd8team/java
  2. Sudo apt-get update
  3. Sudo apt-get -y install oracle-java8-installer
  4. Java -version     (JDK버전 확인)

 

 

 

 

 

 

 

 

 

  • 엘라스틱서치 설치

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Dpkg -i elasticsearch-5.1.1.deb

 

 

 

 

 

 

 

 

 

 

3. Sudo systemctl enable elasticsearch.service

  • 서버 시작시 자동시작 설정

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 엘라스틱서치 시작 & 중지 & 체크 방법

 

  1. Sudo service elasticsearch start
  2. Sudo service elasticsearch stop

 

 

 

 

 

 

 

 

3. Curl -XGET localhost:9200    (버전정보 확인 가능)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

## 섹션2. 엘라스틱서치

 

## 2-1. 엘라스틱서치 기본개념 정리

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • John database 어디에 있는지 저장하는 모습

: 엘라스틱서치는 키워드가 어디에 있다고 저장만

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 엘라스틱서치는 RDB 비해 검색속도가 매우 빠르다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 엘라스틱서치 데이터 구조

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 엘라스틱서치 & RDB 데이터 구조

: Index  ->  Database

: Type   ->  Table

: Document  -> Row

: Field  ->  Column

: Mapping  -> Schema

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 엘라스틱서치는 REST API 사용하여 데이터를 삽입/지울 있다.

: GET  ->  Select

: PUT  -> Update

: POST  ->  Insert

: DELETE  -> Delete

 

 

 

 

 

 

 

 

 

 

 

 

 

## 2-2. 엘라스틱서치 데이터 입력 조회 삭제 (GET,POST,PUT,DELETE)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 엘라스틱서치는 REST API 사용한다.

: GET  ->  Select  ->  Read

: PUT  -> Update  ->  Update

: POST  ->  Insert  ->  Create

: DELETE  -> Delete  ->  Delete

 

 

 

 

 

 

  • Index 만든다는 것은 Database 만든다는 의미다.

 

  • 먼저 Classes 라는 인덱스 있는지 조회해 본다

 

: status 404 에러로 Index 없음을 의미한다.

 

 

 

 

 

 

 

 

 

 

  • 결과값을 예쁘게 보고 싶을때 ?pretty 사용
  • JSON 포멧으로 보여줌
  • Index 있다/없다 알기 쉽다. (status : 404)

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 인덱스가 없음을 확인했으면 생성해보자.

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 인덱스 지우는 방법

(curl 명령어는 REST API 사용하기 때문에 -X 붙임)

 

 

(인덱스가 지워져서 status : 404 발생)

 

 

 

 

 

 

 

 

 

 

 

- 데이터 생성시 사용하는 REST API 명령어 - POST

 

 - Curl -XPOST http://localhost:9200/classes/class/1/ -d '

{"title" : "Algorithm", "professor" : "John"}'

 

  • Classes Index (Database) 의미
  • Class Type (테이블) 의미
  • 1 ID 의미
  • -d 옵션을 주고 데이터 직접 타이핑

 

 

 

 

 

 

 

 

  • 데이터를 파일로 부터 Insert 할때 (대량의 파일 입력시 사용)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 깃허브 자료 확인

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

## 2-3. 엘라스틱서치 데이터 업데이트 (UPDATE)

 

 

 

 

 

 

 

 

 

 

 

반응형

댓글