본문 바로가기
개발자, 탐구생활/개발자, 코딩

[ELK Stack]우분투 엘라스틱서치 설치하기/ElasticSearch

by The Career 2023. 7. 13.
반응형

우분투 엘라스틱서치 설치하기/ElasticSearch


ELK Stack은 Elasticsearch + Logstash + Kibana를 이용해서 데이터 수집부터 데이터 시각화까지 데이터 분석을 위한 틀을 잡을 수 있는 기술스택입니다.
Logstash를 통해 데이터를 수집하고, Elasticsearch를 통해 처리하고 Kibana를 통해 시각화를 할 수 있습니다. 




학습을 위해 가장 먼저 Elasticsearch를 설치하는 과정입니다.
먼저 Elasticsearch는 자바를 통해 돌아가므로 JVM을 설치해야합니다.

root@nickweb:~# java -version

위 명령어를 통해 JVM이 설치되었는지 확인할 수 있고, 설치되지 않았다면 설치를 해줍니다.
apt 명령어로 엘라스틱서치를 설치해줍니다.

root@nickweb:~# sudo apt install elasticsearch
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  elasticsearch
0 upgraded, 1 newly installed, 0 to remove and 151 not upgraded.
Need to get 318 MB of archives.
After this operation, 530 MB of additional disk space will be used.
Get:1 https://artifacts.elastic.co/packages/7.x/apt stable/main amd64 elasticsearch amd64 7.17.11 [318 MB]
Fetched 318 MB in 15s (20.7 MB/s)
Selecting previously unselected package elasticsearch.
(Reading database ... 143525 files and directories currently installed.)
Preparing to unpack .../elasticsearch_7.17.11_amd64.deb ...
Creating elasticsearch group... OK
Creating elasticsearch user... OK
Unpacking elasticsearch (7.17.11) ...
Setting up elasticsearch (7.17.11) ...
### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd
 sudo systemctl daemon-reload
 sudo systemctl enable elasticsearch.service
### You can start elasticsearch service by executing
 sudo systemctl start elasticsearch.service
Created elasticsearch keystore in /etc/elasticsearch/elasticsearch.keystore
Processing triggers for ureadahead (0.100.0-21) ...
Processing triggers for systemd (245.4-4ubuntu3.21) ...
반응형

외부접근을 위해 설정을 변경해주어야 하는데, /etc/elasticsearch/elasticsearch.yml 파일을 수정합니다.

root@nickweb:~# sudo vi /etc/elasticsearch/elasticsearch.yml

.다음 부분의 주석(#)을 삭제하고 내용을 수정합니다.

node.name: node-1
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["127.0.0.1:9200"]
cluster.initial_master_nodes: ["node-1"]
discovery.zen.minimum_master_nodes: 1

 

Elasticsearch 시작 및 종료 명령어

  • sudo service elasticsearch start
  • sudo service elasticsearch stop
root@nickweb:~# service elasticsearch start
root@nickweb:~# curl "localhost:9200"
{
  "name" : "node-1",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "Q58DjTN9TJOu60u91cM4lg",
  "version" : {
    "number" : "7.17.11",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "eeedb98c60326ea3d46caef960fb4c77958fb885",
    "build_date" : "2023-06-23T05:33:12.261262042Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
root@nickweb:~#

 

 

 
추가로 저는 카페24 가상서버 호스팅을 사용하고 있어서 9200번 포트를 외부에서 접근할 수 있도록 방화벽 정책을 변경하였습니다.

웹 브라우저를 통해 외부에서 접근이 가능한지 확인합니다.
이렇게 Elasticsearch의 설치가 완료되었습니다.

반응형