Elasticsearch는 오픈 소스 분산 전체 텍스트 검색 및 분석 엔진입니다. RESTful 작업을 지원하며 대용량 데이터를 실시간으로 저장, 검색 및 분석할 수 있습니다. Elasticsearch는 대형 전자 상거래 스토어 및 분석 응용 프로그램과 같이 검색 요구 사항이 복잡한 응용 프로그램을 지원하는 가장 널리 사용되는 검색 엔진 중 하나입니다.
Debian 10에 Elasticsearch를 설치하는 방법을 설명합니다.
Java를 설치
Elasticsearch는 Java 응용프로그램이므로 첫 번째 단계는 Java 를 설치하는 것입니다.
다음을 루트 또는 sudo privileges 명령으로 실행하여 OpenJDK 패키지를 설치하십시오.
sudo apt install default-jdk
Java 버전을 인쇄하여 Java 설치를 확인합니다.
java -version
# openjdk version "11.0.6" 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+10-post-Debian-1deb10u1)
# OpenJDK 64-Bit Server VM (build 11.0.6+10-post-Debian-1deb10u1, mixed mode, sharing)
Elasticsearch를 설치
표준 Debian 10 리포지토리에서는 Elastic Search를 사용할 수 없습니다. Elasticsearch APT 저장소에서 설치하겠습니다.
다음 wget 명령을 사용하여 리포지토리의 공개 키를 가져옵니다.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
위의 명령은 확인을 출력합니다. 이는 키를 성공적으로 가져왔음을 의미하며 이 리포지토리의 패키지는 신뢰할 수 있는 것으로 간주됩니다.
다음을 실행하여 Elasticsearch 리포지토리를 시스템에 추가합니다.
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
이 기사를 작성할 당시 Elasticsearch의 최신 버전은 7.6입니다. 이전 버전의 Elasticsearch를 설치하려면 위 명령에서 7.x를 필요한 버전으로 변경하십시오.
패키지 인덱스를 업데이트하고 Elasticsearch 엔진을 설치합니다.
sudo apt update
sudo apt install elasticsearch
설치 프로세스가 완료되면 서비스를 시작하고 활성화합니다.
sudo systemctl enable elasticsearch.service --now
Elasticsearch가 실행 중인지 확인하려면 curl을 사용하여 localhost의 포트 9200으로 HTTP 요청을 보냅니다.
curl -X GET "localhost:9200/"
# {
# "name" : "debian10.localdomain",
# "cluster_name" : "elasticsearch",
# "cluster_uuid" : "yCOOHdvYR8mHRs5mNXQdDQ",
# "version" : {
# "number" : "7.6.1",
# "build_flavor" : "default",
# "build_type" : "deb",
# "build_hash" : "aa751e09be0a5072e8570670309b1f12348f023b",
# "build_date" : "2020-02-29T00:15:25.529771Z",
# "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
Devian 서버에 Elasticsearch가 설치되었습니다.
Elasticsearch를 구성
Elasticsearch 데이터는 /var/lib/elasticsearch 디렉터리에 저장됩니다. 구성 파일은 /etc/elasticsearch에 있으며 /etc/default/elasticsearch 파일에서 Java 시작 옵션을 구성할 수 있습니다.
기본적으로 Elasticsearch는 localhost에서만 수신하도록 구성됩니다. 데이터베이스에 연결하는 클라이언트가 동일한 호스트에서 실행 중이고 단일 노드 클러스터를 설정하는 경우에는 기본 구성 파일을 변경할 필요가 없습니다.
원격 액세스
즉시 사용 가능한 Elasticsearch는 인증을 구현하지 않으므로 HTTP API에 액세스할 수 있는 모든 사용자가 액세스할 수 있습니다. Elasticsearch 서버에 대한 원격 액세스를 허용하려면 방화벽을 구성하고 신뢰할 수 있는 클라이언트에서만 Elasticsearch 포트 9200에 대한 액세스를 허용해야 합니다.
예를 들어 UFW를 사용하는 경우 192.168.121.80부터의 연결만 허용하려면 다음 명령을 입력합니다.
sudo ufw allow from 192.168.100.20 to any port 9200
원격 IP 주소로 192.168.100.20을 변경해야 합니다.
방화벽이 구성되면 다음 단계로 Elasticsearch 구성을 편집하고 Elasticsearch가 외부 연결을 수신하도록 허용합니다.
이렇게 하려면 Elasticsearch.yml 구성 파일을 여십시오.
네트워크가 포함된 라인을 검색합니다.host, notemption 후 값을 0.0.0.0으로 변경합니다.
# /etc/elasticsearch/elasticsearch.yml
network.host: 0.0.0.0
컴퓨터에 네트워크 인터페이스가 여러 개 있는 경우 Elasticsearch가 지정된 인터페이스만 수신하도록 하려면 인터페이스 IP 주소를 지정하십시오.
참조
https://linuxize.com/post/how-to-install-elasticsearch-on-debian-10/
'SW > 리눅스' 카테고리의 다른 글
Linux : CentOS 8 : GCC (Development Tools) 설치 방법, 예제, 명령어 (0) | 2022.07.24 |
---|---|
Linux : chmod 777 의미 이해 방법, 예제, 명령어 (0) | 2022.07.23 |
Linux : tar.xz 압축 풀기, 특정 파일 추출 방법, 예제, 명령어 (0) | 2022.07.21 |
Linux : CentOS 8 : Apache Virtual Hosts 설정 방법, 예제, 명령어 (0) | 2022.07.20 |
Linux : Debian 10 : Python 3.8 설치 방법, 예제, 명령어 (0) | 2022.07.19 |