기계적 인조 인간

데비안 9에 elasticsearch를 설치하는 방법

[다시보는 맥월드]스티브잡스 식(式) 프리젠테이션 ì‹ê³„ëª

[다시보는 맥월드]스티브잡스 식(式) 프리젠테이션 ì‹ê³„ëª

차례:

Anonim

Elasticsearch는 오픈 소스 분산 전체 텍스트 검색 및 분석 엔진입니다. RESTful 조작을 지원하며 대량의 데이터를 실시간으로 저장, 검색 및 분석 할 수 있습니다.

Elasticsearch는 대규모 전자 상거래 상점 및 분석 애플리케이션과 같이 복잡한 검색 요구 사항이있는 애플리케이션을 지원하는 가장 인기있는 검색 엔진 중 하나입니다.

이 튜토리얼은 데비안 9에 Elasticsearch를 설치하는 과정을 안내합니다.

전제 조건

데비안 서버에 패키지를 설치하려면 sudo 권한을 가진 사용자로 로그인해야합니다.

Elasticsearch 설치

데비안에 Elasticsearch를 설치하는 가장 쉬운 방법은 공식 Elasticsearch 저장소를 이용하는 것입니다. 이 기사를 작성할 당시 최신 버전의 Elasticsearch는 7.0.0 이며 시스템에 Java 8이 설치되어 있어야합니다.

패키지 색인을 업데이트하고 HTTPS를 통해 저장소에 액세스하는 데 필요한 apt-transport-https 패키지를 설치하여 시작하십시오.

sudo apt update sudo apt install apt-transport-https

OpenJDK 8을 설치하십시오.

sudo apt install openjdk-8-jdk

Java 버전을 인쇄하여 Java 설치를 확인하십시오.

java -version

출력은 다음과 같아야합니다.

openjdk version "1.8.0_181" OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-2~deb9u1-b13) OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

다음 단계는 Elasticsearch 리포지토리를 추가하는 것입니다.

다음 wget 명령을 사용하여 저장소의 공개 키를 가져 오십시오.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

위의 명령은 OK 를 출력해야합니다. 즉, 키를 성공적으로 가져 왔으며이 저장소의 패키지는 신뢰할 수있는 것으로 간주됩니다.

다음을 실행하여 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.x 를 변경하십시오.

패키지 색인을 업데이트하고 Elasticsearch 엔진을 설치하십시오.

sudo apt update sudo apt install elasticsearch

설치 프로세스가 완료되면 다음 명령을 사용하여 서비스를 시작하고 활성화하십시오.

sudo systemctl enable elasticsearch.service sudo systemctl start elasticsearch.service

Elasticsearch가 실행 중인지 확인하려면 다음 curl 명령을 사용하여 localhost의 포트 9200으로 HTTP 요청을 보내십시오.

curl -X GET "localhost:9200/"

출력은 다음과 유사해야합니다.

{ "name": "stretch", "cluster_name": "elasticsearch", "cluster_uuid": "Nj2W3PswRuWvJW8JG75O1Q", "version": { "number": "7.0.0", "build_flavor": "default", "build_type": "deb", "build_hash": "b7e28a7", "build_date": "2019-04-05T22:55:32.697037Z", "build_snapshot": false, "lucene_version": "8.0.0", "minimum_wire_compatibility_version": "6.7.0", "minimum_index_compatibility_version": "6.0.0-beta1" }, "tagline": "You Know, for Search" }

서비스를 시작하는 데 5-10 초가 걸릴 수 있습니다. curl: (7) Failed to connect to localhost port 9200: Connection refused 되었습니다. 몇 초 동안 기다렸다가 다시 시도하십시오.

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

sudo journalctl -u elasticsearch

그게 다야. Elasticsearch가 데비안 서버에 설치되었습니다.

Elasticsearch 구성

Elasticsearch 데이터는 /var/lib/elasticsearch 디렉토리에 저장됩니다. 구성 파일은 /etc/elasticsearch 있으며 Java 시작 옵션은 /etc/default/elasticsearch 파일에서 구성 할 수 있습니다.

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

원격 액세스

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

sudo ufw allow from 192.168.100.20 to any port 9200 원격 IP 주소로 192.168.100.20 을 변경하는 것을 잊지 마십시오.

그렇지 않으면 평범한 오래된 iptables를 사용하는 경우 다음을 실행하십시오.

sudo iptables -A INPUT -p tcp -s 192.168.100.20 --dport 9200 -j ACCEPT

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

이렇게하려면 elasticsearch.yml 구성 파일을여십시오.

sudo nano /etc/elasticsearch/elasticsearch.yml

network.host 가 포함 된 행을 검색하고 주석 처리를 제거하고 값을 0.0.0.0 변경하십시오.

/etc/elasticsearch/elasticsearch.yml

network.host: 0.0.0.0

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

sudo systemctl restart elasticsearch

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

결론

데비안 9 시스템에 Elasticsearch를 성공적으로 설치했습니다. Elasticsearch를 시작하는 방법에 대한 자세한 내용은 공식 설명서 페이지를 방문하십시오.

자바 elasticsearch 데이터베이스 데비안