50% 할인 모든 플랜, 기간 한정. 시작 가격 $2.48/mo
읽는 데 8분
데이터베이스 및 분석

Ubuntu에 Elasticsearch 설치하기 - 무한한 검색을 위한 Elastic 시작 가이드

피우스 보덴만 By 피우스 보덴만 읽는 데 8분 업데이트됨: 2024년 4월 2일
elasticsearch 우분투 설치

광범위한 디지털 환경에서 많은 검색 도구들은 고급 사용자의 요구를 충족하지 못합니다. 이 가이드에서는 Elasticsearch, 강력한 검색 및 분석 엔진을 소개합니다. Ubuntu를 사용해 Ubuntu 22.04에 Elasticsearch를 설치하는 방법을 단계별로 안내하며, 개발자, 데이터 분석가, 그리고 데이터 사이언스를 시작하는 분들 모두가 데이터 조회와 분석을 더 효율적으로 할 수 있도록 돕겠습니다.

Elasticsearch의 세계로 뛰어들 준비가 되셨다면, 설치에 앞서 Elasticsearch의 기본 개념부터 살펴보겠습니다. 이 가이드를 마치면 Ubuntu 시스템에 Elasticsearch가 완전히 구성되어 바로 사용할 수 있는 상태가 됩니다.

Elasticsearch란 무엇인가요?

Elasticsearch 튜토리얼로 넘어가기 전에, Elasticsearch의 기본 개념과 주요 REST 방식 API 를 먼저 살펴보겠습니다. Elasticsearch는 Apache Lucene 기반의 검색 및 분석 엔진으로, 대용량 데이터를 처리하고 빠른 검색 성능을 제공합니다. 로그 분석, 전문 검색, 실시간 분석 등 다양한 사용 사례에서 널리 활용되며, 데이터를 샤드로 나눠 클러스터 노드에 분산 저장합니다. 이 분산 구조 덕분에 고가용성과 장애 내성을 모두 확보할 수 있습니다.

Elasticsearch는 포괄적인 RESTful API로 잘 알려져 있습니다. 이 API를 통해 사용자는 간단한 HTTP 요청으로 Elasticsearch와 상호작용할 수 있습니다. 요청은 주로 JSON 형식으로 구성되며, 인덱싱, 검색, 업데이트, 문서 삭제 등의 작업을 지원합니다.

RESTful API는 네트워크 애플리케이션 설계를 위한 아키텍처 스타일인 REST(Representational State Transfer) 원칙을 따릅니다. Elasticsearch 리소스와 상호작용하기 위해 표준 HTTP 메서드 인 GET, POST, PUT, DELETE 등을 활용합니다.

새 문서를 인덱싱하려면 JSON 형식의 문서를 담은 POST 요청을 /index_name/_doc 엔드포인트로 보내면 됩니다. 반대로 문서를 검색할 때는 검색 파라미터를 포함한 GET 요청을 /index_name/_search 엔드포인트로 전송하여 결과를 받을 수 있습니다.

또한 RESTful API는 다양한 쿼리 타입, 필터, 집계, 정렬 옵션을 포함한 복잡한 검색을 지원합니다. 관련성 조정, 전문 검색, 지리 기반 검색 등도 모두 가능합니다. 마지막으로, Elasticsearch는 여러 프로그래밍 언어용 클라이언트 라이브러리를 제공해 애플리케이션과의 연동을 쉽게 해줍니다. 결론적으로, Elasticsearch의 분산 아키텍처와 사용하기 쉬운 RESTful API의 조합은 검색 및 분석 솔루션을 구축하는 데 있어 강력한 선택지가 됩니다.

Elasticsearch 튜토리얼: Ubuntu에 Elasticsearch 설치하기

이제 본격적으로 Ubuntu에 Elasticsearch를 설치하는 방법을 알아보겠습니다. Ubuntu 22.04를 기준으로 단계별로 설치 과정을 진행하며, 따라하기 쉽게 구성했습니다. 설치 후에는 기본 기능도 함께 다룰 예정이니, 아직 익숙하지 않은 분들도 핵심 기능을 파악하는 데 도움이 될 것입니다. 바로 시작해 보겠습니다.

1단계: Ubuntu 업데이트

Elasticsearch Ubuntu 설치를 시작하기 전에, 시스템 패키지를 최신 상태로 업데이트해 두는 것이 좋습니다. 터미널에서 아래 두 명령어를 순서대로 실행하세요:

sudo apt update
sudo apt upgrade

2단계: Java 설치

Elasticsearch는 Java 위에서 동작하므로, 설치 과정이 원활하게 진행되도록 Ubuntu에 먼저 Java를 설치해야 합니다. OpenJDK는 Java의 오픈소스 구현체로, 설치가 간편하고 성능도 뛰어납니다. 다음 명령어로 OpenJDK를 통해 Java를 설치하세요:

sudo apt install openjdk-11-jdk

3단계: Elasticsearch 다운로드

시스템을 최신 상태로 유지하고 Java 설치를 완료했다면, 이제 Ubuntu에 Elasticsearch를 설치할 차례입니다. 먼저 Elasticsearch 공식 웹사이트에서 최신 다운로드 링크를 확인하세요. 링크를 복사한 후, "wget 명령어로 Elasticsearch를 빠르게 다운로드할 수 있습니다. 단계별 예시는 다음과 같습니다:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.0-amd64.deb

4단계: Elasticsearch Ubuntu 설치 및 설정

Ubuntu Elasticsearch 다운로드가 완료되면 설치를 진행합니다. 다음 명령어를 입력하세요:

sudo dpkg -i elasticsearch-7.14.0-amd64.deb

입력한 명령어는 다운로드된 Elasticsearch 파일을 인식하고 압축을 풀어 Ubuntu에 Elasticsearch를 설치합니다. 설치가 완료되면, Elasticsearch가 로컬 머신에서만 요청을 수신하도록 할지 결정해야 합니다. 기본값은 제한 없이 열려 있지만, 보안상 더 제한적인 설정을 선택하는 경우가 많습니다. 이 설정을 변경하려면 아래 파일을 텍스트 편집기로 여세요:

sudo nano /etc/elasticsearch/elasticsearch.yml

그런 다음 파일에서 "로 시작하는 줄을 찾으세요.# network.host 그리고 제거하세요 # 줄 맨 앞에 입력하세요. 이렇게 하면 Elasticsearch가 로컬 머신에서만 수신하도록 값이 localhost로 설정됩니다. 이 변경을 원하지 않는다면 4단계의 두 번째 부분은 건너뛰어도 됩니다.

5단계: Elasticsearch 시작 및 테스트

이제 Elasticsearch Ubuntu 22.04 설치가 완료되었으니 프로그램을 실행할 수 있습니다. 다음 명령어로 Elasticsearch 서비스를 시작하세요:

sudo systemctl start elasticsearch

프로그램이 로딩될 때까지 기다리세요. 다음 명령어로 시스템 시작 시 프로그램이 자동으로 실행되도록 설정할 수도 있습니다:

sudo systemctl enable elasticsearch

Elasticsearch 설치가 서버에서 정상적으로 작동하는지 확인하려면 아래 명령을 실행하세요. 이 명령은 서버에 HTTP 요청을 보내고 JSON 응답을 반환합니다. JSON 응답을 받으면 Elasticsearch 설치가 성공적으로 완료되어 정상 작동 중임을 의미합니다. 터미널이 아닌 브라우저에 입력하세요:

http://localhost:9200

6단계: Elasticsearch를 Ubuntu에서 보안 설정하기

Elasticsearch 클러스터에는 중요한 프로젝트 및 서버 데이터가 빠르게 쌓일 수 있으며, 이 데이터가 잘못된 손에 들어가선 안 됩니다. 따라서 Elasticsearch Ubuntu 설치 가이드의 주요 단계를 완료한 후, Elasticsearch 보안 설정에 시간을 투자하는 것이 좋습니다. Elasticsearch 인스턴스 보안의 첫 번째 단계는 다음 설정 파일을 텍스트 편집기로 다시 여는 것입니다:

sudo nano /etc/elasticsearch/elasticsearch.yml

다음 줄을 찾아 삭제하세요. # 처음에

xpack.security.enabled: true

이렇게 하면 Elasticsearch의 기본 보안 설정이 활성화됩니다. 변경 사항을 저장하고 편집기를 종료하세요. 이제 Elasticsearch 기본 사용자의 비밀번호를 설정할 차례입니다. 다음 명령으로 Elasticsearch 대화형 셸을 실행하세요:

sudo /usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive

여기서는 Elasticsearch의 기본 사용자 계정마다 비밀번호를 설정하게 됩니다. 추측하기 어렵되, 기억하기는 쉬운 비밀번호를 사용하세요. 마지막으로, Elasticsearch의 보안을 강화하기 위해 방화벽을 활성화할 수 있습니다. 다만 이 단계는 선택 사항입니다.

sudo apt install ufw
sudo ufw enable

방화벽을 열고 활성화한 후, 다음 명령어를 사용해 Elasticsearch가 사용하는 두 포트만 허용하도록 연결을 제한하세요. 불필요하거나 잠재적으로 위험한 인바운드 트래픽을 차단하기 위한 조치입니다:

sudo ufw allow 9200
sudo ufw allow 9300

마지막으로, 변경 사항을 확인하기 위해 Elasticsearch를 재시작합니다:

sudo systemctl restart elasticsearch

축하합니다! Ubuntu에 Elasticsearch를 성공적으로 설치하고 보안까지 강화하셨습니다. Elasticsearch와 그 강력한 API를 활용하려면, 설정한 사용자의 올바른 자격 증명(사용자 이름과 비밀번호)을 입력하세요. Elasticsearch는 항상 최신 버전으로 유지하고, 안전한 환경을 위해 보안 모범 사례를 준수하세요.

마무리

Ubuntu에 Elasticsearch를 성공적으로 설치하면 데이터 검색과 분석 역량이 크게 향상됩니다. 설치 가이드를 따르고 보안 설정을 추가하면 데이터를 안전하게 보호할 수 있습니다. 설치 후에는 Elasticsearch의 강력한 API를 통해 인덱싱, 검색, 문서 업데이트 등 다양한 작업을 손쉽게 수행할 수 있습니다. Elasticsearch의 모든 기능을 익히는 데는 시간이 걸릴 수 있지만, 상세한 공식 문서가 고급 기능을 이해하는 데 큰 도움이 됩니다. Ubuntu 위의 Elasticsearch가 제공하는 속도, 확장성, 풍부한 기능을 활용해 데이터에서 더 깊은 인사이트를 얻어보세요.

이제 Ubuntu에서 Elasticsearch 활용을 한 단계 높여보고 싶으신가요? Cloudzy의 강력한 Linux VPS. Linux VPS의 Ubuntu 버전을 사용하면 전 세계 12개 이상의 위치에서 Elasticsearch가 탑재된 고성능 서버를 호스팅할 수 있습니다. 낮은 레이턴시를 보장하며, Cloudzy의 보안 정책이 여러분을 보호합니다. 다양한 일반 결제 수단과 익명 결제 수단을 이용해 최고 수준의 Ubuntu VPS를 이용하세요. 99.95%의 업타임을 자랑하며, 이 Elasticsearch 튜토리얼에서 배운 내용을 최대한 활용할 수 있습니다!

ubuntu-vps 명확한 선택

Linux 서버의 대다수는 이미 Ubuntu를 사용하고 있습니다. 지금 바로 시작해 보세요. 최적화된 Ubuntu VPS로 그 이유를 직접 확인하세요.

Ubuntu VPS 시작하기

자주 묻는 질문

Elasticsearch와 Apache Lucene의 차이점은 무엇인가요?

Elasticsearch는 Apache Lucene을 기반으로 구축된 검색 엔진입니다. Lucene은 핵심 인덱싱과 검색 기능을 담당하며, Elasticsearch는 여기에 분산 컴퓨팅, 확장성, 사용하기 편리한 API 등을 추가해 분산 환경에 최적화된 형태로 발전시킵니다.

Elasticsearch는 데이터 이중화와 장애 허용을 어떻게 처리하나요?

Elasticsearch는 분산 아키텍처를 통해 데이터 이중화와 장애 허용을 구현합니다. 데이터를 여러 샤드로 나누어 클러스터 내 여러 노드에 분산 저장하며, 각 샤드는 기본적으로 복제 기능을 갖추고 있어 데이터가 다수의 노드에 복제됩니다. 특정 노드에 장애가 발생하더라도 Elasticsearch는 다른 노드의 복제 샤드에서 데이터를 조회할 수 있어 높은 가용성을 유지합니다.

Elasticsearch를 실시간 분석에 활용할 수 있나요?

네, Elasticsearch는 실시간 분석에 적합합니다. 준실시간(near real-time) 인덱싱 기능 덕분에 데이터를 빠르게 업데이트하고 조회할 수 있습니다. 강력한 집계 기능과 결합하면 데이터를 신속하게 분석하고 시각화할 수 있어, 실시간 분석이 필요한 다양한 사용 사례에서 널리 활용됩니다.

Elasticsearch를 지리공간 데이터에 사용할 수 있나요?

네, Elasticsearch는 지리공간 데이터를 강력하게 지원합니다. 지리공간 인덱싱과 검색 기능을 제공하므로, 사용자는 지리 좌표로 문서를 인덱싱하고, 거리 계산을 수행하며, 위치 기반 필터와 집계를 적용할 수 있습니다. 이 기능들은 공식 문서에 잘 정리되어 있으며 업계에서 널리 인정받고 있습니다.

Elasticsearch를 로그 수집 및 로그 분석에 사용할 수 있나요?

물론입니다. Elasticsearch는 로그 분석과 중앙 집중식 로깅에 널리 사용됩니다. 로그를 Elasticsearch에 수집하면 준실시간으로 로그 데이터를 검색, 분석, 시각화할 수 있습니다. Logstash, Kibana와 함께 사용하면 Elasticsearch는 ELK(Elasticsearch, Logstash, Kibana) 스택을 구성하며, 이는 로그 관리와 분석 분야에서 가장 많이 사용되는 솔루션 중 하나입니다.

공유

블로그 더 보기

계속 읽기.

Ubuntu에 MongoDB를 설치하는 방법을 소개하는 아티클의 타이틀, 태그라인과 함께 미래형 서버 위에 표시된 MongoDB 오리지널 심볼 + Cloudzy 브랜드 로고
데이터베이스 및 분석

Ubuntu 최신 버전 3가지에 MongoDB 설치하는 방법 (단계별 가이드)

MERN 스택 앱, 분석 플랫폼, 또는 문서 기반 시스템을 구축하기 위해 MariaDB의 대안으로 MongoDB를 선택했지만, 제대로 된 설명을 찾기가 어려웠다면

짐 슈워츠짐 슈워츠 읽는 데 12분
비즈니스를 위한 스마트 데이터 관리: VPS로 구현하는 클라우드형 스토리지 및 백업 전략
데이터베이스 및 분석

비즈니스를 위한 스마트 데이터 관리: VPS로 구현하는 클라우드형 스토리지 및 백업 전략

VPS를 활용한 안전한 비즈니스 데이터 관리는 회사가 노트북 여러 대, 이메일 첨부 파일, 반쯤 잊혀진 저장소에 파일을 분산해 두는 상황을 끝내기로 결정했을 때 제가 권장하는 전략입니다.

렉사 사이러스렉사 사이러스 7분 읽기
구체화된 뷰 vs. 뷰
데이터베이스 및 분석

Materialized View vs. View: 데이터베이스에서의 역할 이해하기

데이터베이스 시스템에서 Materialized View는 쿼리의 사전 계산된 결과를 물리적 테이블 형태로 저장하는 데이터베이스 객체입니다. 데이터가 디스크에 실제로 저장되기 때문에, 복잡한

아이비 존슨아이비 존슨 7분 읽기

배포할 준비가 됐나요? 월 $2.48부터.

2008년부터 운영해온 독립 클라우드. AMD EPYC, NVMe, 40 Gbps. 14일 환불 보장.