웹사이트 검색

Rocky Linux 8에서 Elasticsearch 설치 및 구성


이 페이지에서

  1. 전제 조건
  2. 자바 설치
  3. ElasticSearch 설치
  4. ElasticSearch 구성
  5. ElasticSearch 확인\n
  6. ElasticSearch 사용 방법
  7. 결론

Elasticsearch는 대량의 데이터를 실시간으로 저장, 검색 및 분석하는 데 사용되는 무료 오픈 소스 분석 엔진입니다. Java로 작성되었으며 Apache Lucene을 기반으로 합니다. 속도, 확장성 및 강력한 기능 세트로 유명합니다. 이를 사용하여 애플리케이션 성능, 로깅 및 로그 분석을 모니터링할 수 있습니다.

이 튜토리얼에서는 Rocky Linux 8에 ElasticSearch를 설치하는 방법을 보여줍니다.

전제 조건

  • RockyLinux 8을 실행하는 서버.\n
  • 루트 암호는 서버에서 구성됩니다.\n

자바 설치

ElasticSearch는 Java를 기반으로 합니다. 따라서 서버에 Java가 설치되어 있어야 합니다. 다음 명령을 사용하여 설치할 수 있습니다.

dnf install java-11-openjdk-devel -y

Java가 설치되면 다음 명령을 사용하여 Java 설치를 확인하십시오.

java -version

다음 출력이 표시되어야 합니다.

openjdk version "11.0.12" 2021-07-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7-LTS, mixed mode, sharing)

ElasticSearch 설치

기본적으로 ElasticSearch는 Rocky Linux 8에 포함되어 있지 않습니다. 따라서 ElasticSearch 저장소를 만들어야 합니다.

먼저 다음 명령을 사용하여 ElasticSearch GPG 키를 가져옵니다.

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

다음으로 다음 명령을 사용하여 ElasticSearch 리포지토리를 만듭니다.

nano /etc/yum.repos.d/elasticsearch.repo

다음 줄을 추가합니다.

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

파일을 저장하고 닫은 후 다음 명령을 사용하여 ElasticSearch 패키지를 설치합니다.

dnf install elasticsearch -y

ElasticSearch가 설치되면 다음 단계로 진행할 수 있습니다.

ElasticSearch 구성

기본적으로 ElasticSearch 기본 구성 파일은 /etc/elasticsearch/elasticsearch.yml에 있습니다. 다음 명령으로 편집할 수 있습니다.

nano /etc/elasticsearch/elasticsearch.yml

아래와 같이 노드 이름, 클러스터 이름, 데이터 경로 및 네트워크 호스트를 정의합니다.

cluster.name: Elastic Cluster
     node.name: rockylinux
     path.data: /var/lib/elasticsearch
     network.host: 127.0.0.1

파일을 저장하고 닫은 다음 ElasticSearch 서비스를 시작하고 시스템 재부팅 시 시작하도록 활성화합니다.

systemctl start elasticsearch
systemctl enable elasticsearch

다음 명령을 사용하여 ElasticSearch의 상태를 확인할 수 있습니다.

systemctl status elasticsearch

다음 출력이 표시되어야 합니다.

? elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2021-08-09 04:34:34 UTC; 8s ago
     Docs: https://www.elastic.co
 Main PID: 5247 (java)
    Tasks: 62 (limit: 11411)
   Memory: 1.1G
   CGroup: /system.slice/elasticsearch.service
           ??5247 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=1>
           ??5412 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller

Aug 09 04:33:29 RockyLinux8 systemd[1]: Starting Elasticsearch...
Aug 09 04:34:34 RockyLinux8 systemd[1]: Started Elasticsearch.

ElasticSearch 확인

이 시점에서 ElasticSearch가 시작되고 포트 9200에서 수신 대기합니다. 다음 명령으로 확인할 수 있습니다.

ss -antpl | grep 9200

다음 출력이 표시되어야 합니다.

LISTEN 0      128    [::ffff:127.0.0.1]:9200            *:*    users:(("java",pid=5247,fd=283))

다음 명령을 사용하여 ElasticSearch를 확인할 수도 있습니다.

curl -X GET 'http://localhost:9200'

다음 출력이 표시되어야 합니다.

{
  "name" : "rockylinux",
  "cluster_name" : "Elastic Cluster",
  "cluster_uuid" : "NuDPakHARaOJOMyi6ABQwA",
  "version" : {
    "number" : "7.14.0",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "dd5a0a2acaa2045ff9624f3729fc8a6f40835aa1",
    "build_date" : "2021-07-29T20:49:32.864135063Z",
    "build_snapshot" : false,
    "lucene_version" : "8.9.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

ElasticSearch 사용 방법

아래와 같이 Curl 명령을 사용하여 ElasticSearch에 데이터를 추가할 수 있습니다.

curl -H 'Content-Type: application/json' -X POST 'http://localhost:9200/tutorial/blog/1' -d '{ "message": "My first blog!" }'

다음 출력이 표시되어야 합니다.

{"_index":"tutorial","_type":"blog","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}

이제 GET 요청을 사용하여 데이터를 검색할 수 있습니다.

curl -X GET 'http://localhost:9200/tutorial/blog/1'

다음 출력이 표시되어야 합니다.

{"_index":"tutorial","_type":"blog","_id":"1","_version":1,"_seq_no":0,"_primary_term":1,"found":true,"_source":{ "message": "My first blog!" }}

사람이 읽을 수 있는 형식으로 데이터를 검색하려면 다음 명령을 실행합니다.

curl -X GET 'http://localhost:9200/tutorial/blog/1?pretty'

다음 출력이 표시되어야 합니다.

{
  "_index" : "tutorial",
  "_type" : "blog",
  "_id" : "1",
  "_version" : 1,
  "_seq_no" : 0,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "message" : "My first blog!"
  }
}

결론

위 가이드에서는 Rocky Linux 8에서 ElasticSearch를 설치하고 사용하는 방법을 배웠습니다. 이제 Elasticsearch에서 데이터를 쉽게 추가, 읽기, 삭제 및 업데이트할 수 있습니다.