ELK는 Elasticsearch, Logstash, Kibana로 구성된 데이터 분석을 할 수 있는 오픈소스 데이터 시각화입니다
각 요소가 하는 역할을 간단히 살펴보면
Elasticsearch : 데이터 처리/검색엔진 => 일종의 DB
Logstash : 실시간 데이터 파이프라인을 통하여 데이터 수집
Kibana : 시각화
로 구성되어 있습니다.
이번 포스팅은 이 중 엘라스틱 서치를 설치하도록 하겠습니다.
elasticsearch와 logstash, kibana는 각각 다른 서버에 구축할 것입니다.
즉 3대의 서버에 따로따로 설치하려고 합니다. 어차피 설정에서 ip 주소등을 설정해주면 되니까요!
먼저 엘라스틱 서치를 설치해보죠.
조건! java가 설치되어 있어야 합니다.
https://lsjsj92.tistory.com/394
참고하시면 되겠습니다.
저 같은 경우는 그냥 elastic이라는 디렉토리를 만들고 진행했습니다.
그리고
https://www.elastic.co/kr/downloads/elasticsearch
에 들어가서 최신 버전을 받았습니다. 제가 받았을 때는 6.4.3이네요!
간단히 wget 명령어를 통해서 받았습니다. (deb 파일!)
그러면 deb 파일이 받아졌죠
아 압축을 해제하는 사진을 깜빡했네요
dpkg -i elasticsearch-6.4.3.deb
를 하시면 됩니다. 만약 안되시면 sudo를 붙이셔서 하시면 될겁니다!
이렇게 설치가 되는데요 3군데에 파일이 나뉘어져 있습니다.
/usr/share/elasticsearch 는 설치 path
/etc/elasticsearch는 config paht
/etc/init.d/elasticsearch는 init과 관련된 장소 입니다.
그리고 sudo systemctl enable elasticsearch.service를 통해 서비스를 실행하도록 설정합니다.
그리고 sudo service elasticsearch start를 통해 실행!
그리고 조금 시간을 기다리셔야 합니다.
바로 아래꺼 하시면 거부되었다 뭐다 이렇게 떠요
시간을 조금 두신 다음
curl -XGET 'localhost:9200'을 치시면 이렇게 나오실겁니다!
설치 끝! 매우 간단하죠.
그럼 이제 index를 만들어볼까요
여기서 RDB와 elasticsearch의 차이가 있습니다.
RDB의 database는 elasticsearch에서 index
RDB의 table은 elasticsearch에서 type
RDB의 column는 elasticsearch에서 field
RDB의 schema는 elasticsearch에서 mapping
RDB의 row는 elasticsearch에서 document
등 차이점이 있습니다.
먼저 soojin이라는 index가 있는지 확인해보죠
없다고나오죠
그럼 여기서 curl -XPUT http://localhost:9200/soojin을 통해 넣어줍니다.
그럼 PUT, GET 등은 무엇일까요?
GET은 RDB의 SELECT입니다. CRUD의 READ죠.
PUT은 RDB의 UPDATE입니다. CRUD의 UPDATE죠.
POST은 RDB의 INSERT입니다. CRUD의 CREATE죠.
DELETE은 RDB의 DELETE입니다. CRUD의 DELETE죠.
자 이렇게 하면 들어간 것을 볼 수 있습니다.
실습을 위해 classes라는 것을 넣습니다.
치시면 아마 없을겁니다.
넣어주시구요
값까지 넣어줍니다.
그리고 앞서 말씀드린대로 엘라스틱, 키바나, 로그스태쉬를 각각 다른 서버에 두기 때문에
/etc/elasticsearch/elasticsearch.yml 파일을 수정해줘야 합니다.
network.host: 0.0.0.0 으로 해놓으셔야지
외부에서 접속할 때 ip 주소 등을 쳐서 접속할 수 있습니다.
그리고 elasticsearch를 다시 시작해줍니다.
자! 여기까지 설정을 마치고 이제 다음에 kibana와 연동해보겠습니다.
'빅데이터' 카테고리의 다른 글
ELK 스택 설치 - logstash(로그스태시) 설치 및 장고(django) 연동 (6) | 2018.11.14 |
---|---|
ELK 스택 설치 - 키바나(kibana) 설치 및 elasticsearch와 연동하기 (0) | 2018.11.11 |
도커란? 그리고 우분투(ubuntu)에 도커(docker)와 mysql 설치하기 (0) | 2018.11.08 |
centos7에 하둡 설치 - 하둡 3단계 (16) | 2017.10.25 |
vmware centos7 복사(vmware 복사) - 하둡 2단계 (0) | 2017.10.23 |