오늘은 ES를 본격적으로 시작하기 위해서 아래 4가지를 설치 해보도록 하겠습니다.
Elasticsearch, Logstash, Kibana, Redis
아래 링크에서 다운받을수있습니다.
현재 2020년 6월 29일 기준 7.8.0 버전이 최신으로 보이며
각 OS에 맞게 다운로드 하시면됩니다.
회사 서비스플랫폼 운영을 위해서 설치하는 중이며 기존에 Legacy에서 6.5.4버전을 사용하고있어서
6.5.4 버전을 설치할예정입니다.
당연한거지만 7.8.0버전을 하셔도되고 저와 동일하게 진행하셔도됩니다.
현재 7.x.x버전이 기존 버전보다 알고리즘이나 다양한 버그리포팅 성능상이슈를 해결했기때문에 최적에 작업을 위해서는
최신버전으로 진행하시기 바랍니다.
저도 최신버전으로 진행하고싶지만 레거시 다뜯어고칠 엄두가 안나서 단계적으로 접근하려고합니다.
Elasticsearch (6.5.4)
https://www.elastic.co/kr/downloads/past-releases/elasticsearch-6-5-4
Logstash (6.5.4)
https://www.elastic.co/kr/downloads/past-releases/logstash-6-5-4
Kibana (6.5.4)
https://www.elastic.co/kr/downloads/past-releases/kibana-6-5-4
현재 Local 에 설치하는 OS는 Mac이라서 Mac용으로 진행하겠습니다.
이커머스에 꽃은 상품입니다. 이제 RDB로 되어있는 데이터베이스를 Elasticsearch 에 Document형태로 만들어서
검색이 용이하게 관리하려고합니다.
데이터가 몇억건으로 들어가 있다보니 RDB에 질의하면 응답을 안주더라구여 ...RDB는 이제 못쓰는건가봐요!!
우선 각자 Mac 유저라면 폴더하나를 만드세요.
MAC-RENZO:espack renzo$ pwd
/Users/renzo/espack
MAC-RENZO:espack renzo$ ls -al
total 24
drwxr-xr-x 6 renzo staff 192 6 29 16:59 .
drwxr-xr-x+ 41 renzo staff 1312 6 29 16:59 ..
-rw-r--r--@ 1 renzo staff 8196 6 29 17:03 .DS_Store
drwxr-xr-x@ 13 renzo staff 416 6 29 17:00 elasticsearch-6.5.4
drwxr-xr-x@ 16 renzo staff 512 6 29 17:00 kibana-6.5.4-darwin-x86_64
drwxr-xr-x@ 18 renzo staff 576 6 29 17:03 logstash-6.5.4
MAC-RENZO:espack renzo$
저는 코드처럼 espack 으로 폴더 생성하였습니다.
실행순서 es -> kibana -> logstash 이렇게 진행하면됩니다.
1. Elasticsearch 실행
MAC-RENZO:bin renzo$ pwd
/Users/renzo/espack/elasticsearch-6.5.4/bin
MAC-RENZO:bin renzo$ ./elasticsearch
[2020-06-29T17:12:51,688][INFO ][o.e.e.NodeEnvironment ] [EvAVALY] using [1] data paths, mounts [[/ (/dev/disk1s1)]], net usable_space [159gb], net total_space [233.4gb], types [apfs]
[2020-06-29T17:12:51,691][INFO ][o.e.e.NodeEnvironment ] [EvAVALY] heap size [989.8mb], compressed ordinary object pointers [true]
[2020-06-29T17:12:51,706][INFO ][o.e.n.Node ] [EvAVALY] node name derived from node ID [EvAVALYvSQ645E5sqYBwZQ]; set [node.name] to override
[2020-06-29T17:12:51,707][INFO ][o.e.n.Node ] [EvAVALY] version[6.5.4], pid[94998], build[default/tar/d2ef93d/2018-12-17T21:17:40.758843Z], OS[Mac OS X/10.14.6/x86_64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_241/25.241-b07]
[2020-06-29T17:12:51,707][INFO ][o.e.n.Node ] [EvAVALY] JVM arguments [-Xms1g, -Xmx1g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Djava.io.tmpdir=/var/folders/47/3w00ng2x2rl3m7mqdgs8gyvc0000gp/T/elasticsearch.BsZtR5Or, -XX:+HeapDumpOnOutOfMemoryError, -XX:HeapDumpPath=data, -XX:ErrorFile=logs/hs_err_pid%p.log, -XX:+PrintGCDetails, -XX:+PrintGCDateStamps, -XX:+PrintTenuringDistribution, -XX:+PrintGCApplicationStoppedTime, -Xloggc:logs/gc.log, -XX:+UseGCLogFileRotation, -XX:NumberOfGCLogFiles=32, -XX:GCLogFileSize=64m, -Des.path.home=/Users/renzo/espack/elasticsearch-6.5.4, -Des.path.conf=/Users/renzo/espack/elasticsearch-6.5.4/config, -Des.distribution.flavor=default, -Des.distribution.type=tar]
[2020-06-29T17:12:52,973][INFO ][o.e.p.PluginsService ] [EvAVALY] loaded module [aggs-matrix-stats]
[2020-06-29T17:12:52,973][INFO ][o.e.p.PluginsService ] [EvAVALY] loaded module [analysis-common]
2. Kibana 실행
MAC-RENZO:bin renzo$ pwd
/Users/renzo/espack/kibana-6.5.4-darwin-x86_64/bin
MAC-RENZO:bin renzo$ ls -al
total 24
drwxr-xr-x@ 5 renzo staff 160 12 18 2018 .
drwxr-xr-x@ 16 renzo staff 512 6 29 17:00 ..
-rwxr-xr-x@ 1 renzo staff 632 12 18 2018 kibana
-rwxr-xr-x@ 1 renzo staff 588 12 18 2018 kibana-keystore
-rwxr-xr-x@ 1 renzo staff 639 12 18 2018 kibana-plugin
MAC-RENZO:bin renzo$ ./kibana
log [08:55:15.357] [info][status][plugin:kibana@6.5.4] Status changed from uninitialized to green - Ready
log [08:55:15.393] [info][status][plugin:elasticsearch@6.5.4] Status changed from uninitialized to yellow - Waiting for Elasticsearch
log [08:55:15.395] [info][status][plugin:xpack_main@6.5.4] Status changed from uninitialized to yellow - Waiting for Elasticsearch
log [08:55:15.400] [info][status][plugin:searchprofiler@6.5.4] Status changed from uninitialized to yellow - Waiting for Elasticsearch
log [08:55:15.402] [info][status][plugin:ml@6.5.4] Status changed from uninitialized to yellow - Waiting for Elasticsearch
log [08:55:15.435] [info][status][plugin:tilemap@6.5.4]
1번 2번을 순서대로 서비스 구동시킨뒤 아래 정보를 브라우저에 입력하면 정상적으로 Kibana 모니터링 도구를 확인할수 있습니다.
Redis
brew install redis
brew 를 통해서 Mac OS설치
brew services start redis
brew services stop redis
brew services restart redis
Redis 서비스 실행, 중지, 재시작
MAC-RENZO:redis renzo$ ps -ef | grep redis
502 53580 1 0 4:39PM ?? 0:00.34 /usr/local/opt/redis/bin/redis-server 127.0.0.1:6379
502 54630 17945 0 4:51PM ttys001 0:00.00 grep redis
brew services start redis 실행후 위에 코드 박스처럼
process 기능 확인하면 정상동작하는 redis 확인가능함.
Redis client GUI
아래 링크에서 다운로드 가능
https://rdbtools.com/docs/install/mac/
다운로드받은 dmg 파일 실행하면 redis client 화면 UI확인가능
직접 localhost:8001 포트를 이용하면 redis 확인
Redis client 에서 REDIS DATABASE를 만들어봅니다.
name, host, port 는 필수 값입니다.
생성된 Redis 정보 확인 가능합니다.
이번시간은 Elasticsearch + Kibana 다운로드 에서 실행후 모니터링과 Redis 설치 및 Client GUI 까지 확인하였습니다.
다음번 시간에는 logstash 를 이용해서 데이터를 밀어넣는 방법에 대해서 진행해보도록 하겠습니다.
'ELK > ElasticSearch' 카테고리의 다른 글
엘라스틱서치(Elasticsearch) Logstash configuration 파이프라인 conf.d Input(mysql) To Output(Redis) 3편 (0) | 2020.07.14 |
---|---|
엘라스틱서치(Elasticsearch) Logstash configuration 파이프라인 시작하기 2편 (0) | 2020.07.01 |
ElasticSearch SendMail 발송 batch 용도 Scroll API 구현하기 (0) | 2020.05.13 |
ElasticSearch Query context vs Filter context 차이점 (0) | 2020.05.13 |
ElasticSearch _source / doc_value / stored_fields 3가지 차이점 (0) | 2020.05.12 |