ES 연결방법

이진우·2025년 6월 27일

ElasticSearch 를 쉽게 연결하기 위해 Docker를 이용해 띄울예정입니다.

1. 도커 데스크탑 다운

도커데스크탑 다운로드 페이지
이렇게 생긴 친구 다운

백엔드 설정

docker-compose.yml

version: '3.8'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.13.4
    container_name: es-test
    environment:
      - discovery.type=single-node
      - xpack.security.enabled=false
    ports:
      - "9200:9200"
      - "9300:9300"
    networks:
      - esnet

  kibana:
    image: docker.elastic.co/kibana/kibana:8.13.4
    container_name: kibana
    environment:
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
      - xpack.security.enabled=false
    ports:
      - "5601:5601"
    depends_on:
      - elasticsearch
    networks:
      - esnet

networks:
  esnet:
    driver: bridge

최상위 폴더 위치에 docker-compose.yml 을 생성하고 위 코드를 집어넣습니다.

ES? Kibana? 그게 뭔데?

ES

Elastic Search : 검색 + 분석 엔진 입니다.

  • Elasticsearch는 기본적으로 9200 포트(http://localhost:9200) 로 접근합니다.

  • Json 기반의 NoSQL 검색엔진을 사용합니다.
    -> 기존 SQL 보다 빠르고 유연하게 사용이 가능합니다.
    -> 쿼리에서 사용되는 복잡한 조건들을 쉽고 간편하게 처리가 가능합니다
    -> 데이터가 많아도 분산해서 검색이 가능합니다. (스케일링)

Kibana

Kibana는 ES 공부하는데 왜 필요한가 싶은데,
Elasticsearch를 편리하게 다루기 위한 시각화 도구(UI) 입니다.

  • Kibana는 기본적으로 5601 포트(http://localhost:5601) 에서 실행됩니다.
    -> 5601 포트로 접속 시 ES 사용에 도움, 설명이 있는 웹 페이지가 나옵니다.

  • ElasticSearch에 저장된 데이터를 시각적으로 보고 조작할 수 있게 해줍니다.
    -> 검색 쿼리, 인덱스 생성, 대시보드, 차트 등을 웹 UI에서 직접 가능합니다.
    -> 사이드바 아래쪽 "Dev Tools" 창에서 JSON 쿼리도 직접 작성할 수 있습니다.

결론

Elasticsearch는 백엔드 데이터 저장/검색 시스템이고,
Kibana는 이를 시각적으로 조작/관리할 수 있는 프론트 도구입니다.

SQL에서 DBeaver를 쓰는 것처럼,
ES를 정확하고 쉽게 다루기 위해 Kibana는 사실상 필수 도구입니다.

연결

yml설정 후 ,
해당 프로젝트의 터미널에서 작성한 docker compose 파일을 실행시킵니다.

docker compose up -d

위 코드 실행 시 아래 사진과 같은 답변이 뜹니다.

이런식으로 뜬다면 성공적으로 ES 와 Kibana 띄우기에 성공한것입니다.

이후 http://localhost:9200 를 접속하면 Json 형식의 화면이 뜨고

http://localhost:5601 접속 시 elastic 페이지가 나옵니다.

위 두개가 잘 나온다하면 성공입니다!

MemberProfileDocument 에 변수 선언 다 해놨으니까 그거대로 지피티에
"ES dev tools 에 넣을건데 json 형식 코드 주라" 라고 하면 아마 줄 것 입니다.

profile
개발자 응애입니다

0개의 댓글