ELK

[ELK] 엘라스틱서치 설치

집한구석 2021. 12. 28. 14:35
728x90

설치환경

  • GCP VM 머신 : e2-medium (vCPU 2개, 4GB 메모리)
  • OS : CentOS 7

설치

[tgyun615@elastic-1 ~]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.2-linux-x86_64.tar.gz
--2021-12-28 05:31:27--  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.2-linux-x86_64.tar.gz
Resolving artifacts.elastic.co (artifacts.elastic.co)... 34.120.127.130, 2600:1901:0:1d7::
Connecting to artifacts.elastic.co (artifacts.elastic.co)|34.120.127.130|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 343664171 (328M) [application/x-gzip]
Saving to: ‘elasticsearch-7.16.2-linux-x86_64.tar.gz’

100%[==============================================================================================================================================================================================================================================================================================>] 343,664,171  180MB/s   in 1.8s   

2021-12-28 05:31:29 (180 MB/s) - ‘elasticsearch-7.16.2-linux-x86_64.tar.gz’ saved [343664171/343664171]

실행 

설치된 엘라스틱서치에 있는 bin 디렉토리는 엘라스틱서치 실행파일들이 존재함

실행파일 정보

  • elasticsearch : 실행 
  • elasticsearch-plugin : 플러그인 설치파일
  • elasticsearch-certgen : certification을 만들어줌
  • elasticsearch-users : 사용자를 수동으로 추가

엘라스틱서치 실행

[tgyun615@elastic-1 bin]$ ./elasticsearch
[2021-12-28T05:42:08,978][INFO ][o.e.n.Node               ] [elastic-1] version[7.16.2], pid[1520], build[default/tar/2b937c44140b6559905130a8650c64dbd0879cfb/2021-12-18T19:42:46.604893745Z], OS[Linux/3.10.0-1160.49.1.el7.x86_64/amd64], JVM[Eclipse Adoptium/OpenJDK 64-Bit Server VM/17.0.1/17.0.1+12]
[2021-12-28T05:42:08,986][INFO ][o.e.n.Node               ] [elastic-1] JVM home [/home/tgyun615/elasticsearch-7.16.2/jdk], using bundled JDK [true]
[2021-12-28T05:42:08,987][INFO ][o.e.n.Node               ] [elastic-1] JVM arguments [-Xshare:auto, -Des.networkaddress.cache.ttl=60, -Des.networkaddress.cache.negative.ttl=10, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -XX:+ShowCodeDetailsInExceptionMessages, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dio.netty.allocator.numDirectArenas=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j2.formatMsgNoLookups=true, -Djava.locale.providers=SPI,COMPAT, --add-opens=java.base/java.io=ALL-UNNAMED, -XX:+UseG1GC, -Djava.io.tmpdir=/tmp/elasticsearch-2120523235155058881, -XX:+HeapDumpOnOutOfMemoryError, -XX:+ExitOnOutOfMemoryError, -XX:HeapDumpPath=data, -XX:ErrorFile=logs/hs_err_pid%p.log, -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m, -Xms1893m, -Xmx1893m, -XX:MaxDirectMemorySize=993001472, -XX:G1HeapRegionSize=4m, -XX:InitiatingHeapOccupancyPercent=30, -XX:G1ReservePercent=15, -Des.path.home=/home/tgyun615/elasticsearch-7.16.2, -Des.path.conf=/home/tgyun615/elasticsearch-7.16.2/config, -Des.distribution.flavor=default, -Des.distribution.type=tar, -Des.bundled_jdk=true]
  • bin 경로에서 ./elsaticsearch로 실행
[tgyun615@elastic-1 ~]$ curl -XGET localhost:9200
{
  "name" : "elastic-1",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "2hzOKh3gTQWdA4ZcbkQTvA",
  "version" : {
    "number" : "7.16.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "2b937c44140b6559905130a8650c64dbd0879cfb",
    "build_date" : "2021-12-18T19:42:46.604893745Z",
    "build_snapshot" : false,
    "lucene_version" : "8.10.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
  • 터미널을 추가 접속해여 해당 터미널에서 명령어로 확인함 (curl -XGET localhost:9200)
  • 엘라스틱 서치가 정상적으로 실행이 안됐을 경우 해당 JSON이 확인이 안됨

백그라운드 실행

엘라스틱 실행 옵션은 -d, -p 두가지가 존재함 

  • -d : 백그라운드 데몬으로 실행
  • -p <파일명> : 엘라스틱서치 실행시 생성된 프로세스 ID를 지정한 파일에 저장, 종료시 삭제됨  

실행스크립트

chmod 755 *.sh 통하여 스크립트 권한 줘야함

bin/elasticsearch -d -p es.pid
  • vi start.sh 
  • 해당 실행스크립트 작성 후 저장 

종료스크립트

chmod 755 *.sh 통하여 스크립트 권한 줘야함

kill `cat es.pid`
  • vi stop.sh
  • 해당 실행스크립트 작성 후 저장