SW/리눅스

Linux : CentOS 8 : Elasticsearch 설치 방법, 예제, 명령어

얇은생각 2022. 7. 4. 07:30
반응형

Elasticsearch는 오픈 소스 분산 전체 텍스트 검색 및 분석 엔진입니다. 또한 RESTful 작업을 지원하며 대용량 데이터를 실시간으로 저장, 검색 및 분석할 수 있습니다. Elasticsearch는 대형 전자 상거래 스토어 및 분석 애플리케이션과 같은 복잡한 검색 요구 사항을 가진 애플리케이션을 지원하는 가장 인기 있는 검색 엔진 중 하나입니다.

이 튜토리얼에서는 CentOS 8에 Elasticsearch를 설치하는 방법에 대해 설명합니다.

 

 

Linux : CentOS 8 : Elasticsearch 설치 방법, 예제, 명령어

 

 

Java를 설치

Elasticsearch는 Java 응용프로그램이므로 첫 번째 단계는 Java를 설치하는 것입니다.

다음을 루트 또는 sudo 권한 명령으로 실행하여 OpenJDK 패키지를 설치하십시오.

sudo dnf install java-11-openjdk-devel

 

 

Java 버전을 인쇄하여 Java 설치를 확인합니다.

java -version

# openjdk version "11.0.5" 2019-10-15 LTS
# OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS)
# OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode, sharing)

 

 

 

Elasticsearch를 설치

표준 CentOS 8 리포지토리에서는 탄력 검색을 사용할 수 없습니다. Elasticsearch RPM 저장소에서 설치합니다.

rpm 명령을 사용하여 리포지토리의 GPG를 가져옵니다.

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

 

 

텍스트 편집기를 열고 /etc/yum.repos.d 디렉터리를 만듭니다.

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

 

 

다음 내용을 파일에 붙여넣습니다.

# /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의 최신 버전은 7.6입니다. 이전 버전의 Elasticsearch를 설치하려면 위의 명령에서 필요한 버전으로 7.x를 변경하십시오.

리포지토리가 사용되도록 설정되었으므로 이제 다음과 같이 입력하여 Elastic검색 패키지를 설치합니다.

sudo dnf install elasticsearch

 

 

설치 프로세스가 완료되면 서비스를 시작하고 활성화합니다.

sudo systemctl enable elasticsearch.service --now

 

 

Elasticsearch가 실행 중인지 확인하려면 curl을 사용하여 로컬 호스트의 포트 9200으로 HTTP 요청을 전송합니다.

curl -X GET "localhost:9200/"

# {
#   "name" : "centos8.localdomain",
#   "cluster_name" : "elasticsearch",
#   "cluster_uuid" : "V_mfjn2PRJqX3PlZb_VD7w",
#   "version" : {
#     "number" : "7.6.0",
#     "build_flavor" : "default",
#     "build_type" : "rpm",
#     "build_hash" : "7f634e9f44834fbc12724506cc1da681b0c3b1e3",
#     "build_date" : "2020-02-06T00:09:00.449973Z",
#     "build_snapshot" : false,
#     "lucene_version" : "8.4.0",
#     "minimum_wire_compatibility_version" : "6.8.0",
#     "minimum_index_compatibility_version" : "6.0.0-beta1"
#   },
#   "tagline" : "You Know, for Search"
# }

 

 

서비스를 시작하는 데 5~10초가 걸릴 수 있습니다. 컬이 표시되면 (7) 로컬 호스트 포트 9200에 연결하지 못했습니다. 연결이 거부되었습니다. 잠시 기다렸다가 다시 시도하십시오.

Elasticsearch 서비스에서 기록한 메시지를 보려면 다음 명령을 사용하십시오.

sudo journalctl -u elasticsearch

 

 

이제 CentOS server에 Elasticsearch가 설치되어 있습니다.OS 서버입니다.

 

 

 

Elasticsearch를 구성

Elasticsearch 데이터는 /var/lib/elasticsearch 디렉토리에 저장되고 구성 파일은 /etc/elasticsearch에 있습니다.

기본적으로 Elasticsearch는 localhost에서만 수신하도록 구성되어 있습니다. 데이터베이스에 연결하는 클라이언트도 동일한 호스트에서 실행 중이고 단일 노드 클러스터를 설정하는 경우 기본 구성 파일을 변경할 필요가 없습니다.

 

 

 

원격 액세스

Elasticsearch는 인증을 구현하지 않으므로 HTTP API에 액세스할 수 있는 모든 사용자가 액세스할 수 있습니다. Elastic검색 서버에 대한 원격 액세스를 허용하려면 방화벽을 구성하고 신뢰할 수 있는 클라이언트에서만 Elastic검색 포트 9200에 대한 액세스를 허용해야 합니다.

예를 들어 192.168.121.80의 연결만 허용하려면 다음 명령을 입력합니다.

다음 명령을 실행하여 포트 9200의 원격 신뢰할 수 있는 IP 주소에서 평가를 허용합니다.

sudo firewall-cmd --new-zone=elasticsearch --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=elasticsearch --add-source=192.168.121.80/32 --permanent
sudo firewall-cmd --zone=elasticsearch --add-port=9200/tcp --permanent
sudo firewall-cmd --reload

 

 

192.168.121.80을 원격 IP 주소로 변경하는 것을 잊지 마십시오.

나중에 다른 IP 주소에서 액세스를 허용하려면 다음을 사용하십시오.

sudo firewall-cmd --zone=elasticsearch --add-source=<IP_ADDRESS> --permanent
sudo firewall-cmd --reload

 

 

방화벽이 구성되면 다음 단계는 Elastic검색 구성을 편집하고 Elasticsearch가 외부 연결을 수신하도록 허용하는 것입니다.

이렇게 하려면 Elasticsearch.yml 구성 파일을 엽니다.

sudo nano /etc/elasticsearch/elasticsearch.yml

 

 

네트워크가 포함된 줄을 검색합니다.호스트, 주석 해제 및 0.0.0.0으로 변경합니다.

# /etc/elasticsearch/elasticsearch.yml

network.host: 0.0.0.0

 

 

시스템에 여러 네트워크 인터페이스가 있는 경우 Elasticsearch가 지정된 인터페이스만 수신하도록 하려면 인터페이스 IP 주소를 지정합니다.

변경 내용을 적용하려면 Elasticsearch 서비스를 다시 시작하십시오.

sudo systemctl restart elasticsearch

 

 

이제 원격 위치에서 Elasticsearch 서버에 연결할 수 있습니다.

CentOS 8에 Elasticsearch를 설치하는 방법을 보여드렸습니다.

Elasticsearch에 대한 자세한 내용은 공식 문서 페이지를 참조하십시오.

반응형