본문 바로가기

Programming/Elastic Search

Elastic Search ver 7.17, Ubuntu에 설치하기

다음 기술한 순서로 Elastic Search ver 7.17과 Kibna를 Ubuntu에 설치하겠습니다.

 

1. Elastic Search 설치

 

Elasticsearch 패키지는 OpenJDK 번들 버전과 함께 제공되므로 Java를 설치할 필요가 없습니다.
먼저 패키지 인덱스를 업데이트하고 새 HTTPS 리포지토리를 추가하는 데 필요한 종속성을 설치합니다.

sudo apt update
sudo apt install apt-transport-https ca-certificates wget





리포지토리의 GPG 키를 가져옵니다.

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


위의 명령은 확인을 출력합니다. 이는 키를 성공적으로 가져왔음을 의미하며 이 리포지토리의 패키지는 신뢰할 수 있는 것으로 간주됩니다.



다음을 실행하여 Elastic Search 리포지토리를 시스템에 추가합니다.

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를 설치합니다.

sudo apt update
sudo apt install elasticsearch





설치 프로세스가 완료된 후 Elastic Search 서비스가 자동으로 시작되지 않습니다. 서비스를 시작하고 서비스 실행을 활성화하려면 다음을 수행합니다.

sudo systemctl enable --now elasticsearch.service





Elasticsearch가 실행 중인지 확인하려면 curl을 사용하여 localhost의 포트 9200으로 HTTP 요청을 보냅니다.
서비스를 시작하는 데 5~10초가 걸릴 수 있습니다. 컬이 표시되면 (7) 로컬 호스트 포트 9200에 연결하지 못했습니다. 연결이 거부되었습니다. 몇 초 동안 기다린 후 다시 시도하십시오.

curl -X GET "localhost:9200/"





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

sudo journalctl -u elasticsearch





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



기본적으로 Elasticsearch는 localhost에서만 수신하도록 구성됩니다. 데이터베이스에 연결하는 클라이언트가 동일한 호스트에서 실행 중이고 단일 노드 클러스터를 설정하는 경우에는 기본 구성 파일을 변경할 필요가 없습니다.
즉시 사용 가능한 Elasticsearch는 인증을 구현하지 않으므로 HTTP API에 액세스할 수 있는 모든 사용자가 액세스할 수 있습니다.
Elasticsearch 서버에 대한 원격 액세스를 허용하려면 방화벽을 구성하고 TCP 포트 6379를 열어야 합니다.
일반적으로 특정 IP 주소 또는 IP 범위에서만 Redis 서버에 대한 액세스를 허용하려고 합니다. 예를 들어 192.168.121.0/24 서브넷에서만 연결을 허용하려면 다음 명령을 실행합니다.

sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379





방화벽이 구성되면 다음 단계로 Elasticsearch 구성을 편집하고 Elasticsearch가 외부 연결을 수신하도록 허용합니다. 이렇게 하려면 Elasticsearch.yml 구성 파일을 여십시오.
컴퓨터에 네트워크 인터페이스가 여러 개 있는 경우 Elasticsearch가 지정된 인터페이스만 수신하도록 하려면 인터페이스 IP 주소를 지정하십시오.

sudo vim /etc/elasticsearch/elasticsearch.yml
network.host: 0.0.0.0

discovery.type: single-node





Elasticsearch 서비스를 다시 시작하여 변경 내용을 적용합니다.

sudo systemctl restart elasticsearch





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



2. Kibana 설치




Kibana를 설치합니다.

sudo apt-get install kibana




kibana.yml 파일 수정

sudo vi /etc/kibana/kibana.yml
server.port: 5601

server.host: ip주소입력

elasticsearch.hosts: ["http://localhost:9201"]





Kibana 서비스 실행

sudo systemctl start kibana.service



Kibana 서비스 부팅 시 시작되도록 활성화

sudo systemctl enable kibana.service





port 5601 트래픽 허용

sudo ufw allow 5601/tcp





Kibana 테스트

ip주소입력:5601





cf.
https://jjeongil.tistory.com/2007
https://stackoverflow.com/questions/59350069/elasticsearch-start-up-error-the-default-discovery-settings-are-unsuitable-for
https://velog.io/@switchong/ubuntu-20.04-kibana-%EC%84%A4%EC%B9%98