검색엔진/Opensearch / / 2024. 9. 24. 13:05

오픈서치 기본 설치

오픈서치 설치를 공유

  • 간단한 예제 설치
  • 사이트공식 Sample 설치

간단한 예제설치 

+ entrypoint 에 plugins 설치 추가

services:
  opensearch-node:
    image: opensearchproject/opensearch:2.14.0
    container_name: opensearch-node
    environment:
      - discovery.type=single-node
      - OPENSEARCH_INITIAL_ADMIN_PASSWORD=abcde12345
      - bootstrap.memory_lock=true
      - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m" # Set min and max JVM heap sizes to at least 50% of system RAM
      - plugins.security.ssl.http.enabled=false
    ports:
      - "9200:9200"
      - "9600:9600"
    networks:
      - opensearch-net
    volumes:
      - ./opensearch/opensearch-plungins-install.sh:/usr/share/opensearch/opensearch-plungins-install.sh
    entrypoint:
      - /bin/sh
      - -c
      - |
        /usr/share/opensearch/opensearch-plungins-install.sh
        /usr/share/opensearch/opensearch-docker-entrypoint.sh

  opensearch-dashboards:
    image: opensearchproject/opensearch-dashboards:2.14.0
    container_name: opensearch-dashboards
    environment:
      - OPENSEARCH_HOSTS=http://192.168.2.246:9200
    ports:
      - "5601:5601"
    networks:
      - opensearch-net

networks:
  opensearch-net:

 

사이트공식 Sample 설치

  • opensearch-node1: 컨테이너의 Docker 네트워크 내 호스트명도 됩니다 (예: https://opensearch-node1/)
  • cluster.name : 클러스터 이름을 지정
  • node.name : 컨테이너에서 실행할 노드의 이름
  • discovery.seed_hosts : 클러스터를 검색할 때 찾을 노드들을 지정합니다 (가능한 전부 작성)
  • cluster.initial_cluster_manager_nodes : 클러스터 관리자 역할의 노드를 지정

 

Docker Compose를 사용하여 OpenSearch 클러스터를 처음 시작하는 경우 다음 예제 파일을 사용합니다. 호스트의 홈 디렉토리에 저장하고 이름을 지정합니다. 이 파일은 OpenSearch 서비스를 실행하는 컨테이너 2개와 OpenSearch 대시보드를 실행하는 컨테이너 1개, 이렇게 3개의 컨테이너가 포함된 클러스터를 생성합니다. 이러한 컨테이너는 호출된 브리지 네트워크를 통해 통신하고 각 OpenSearch 노드에 하나씩 두 개의 볼륨을 사용합니다. 이 파일은 데모 보안 구성을 명시적으로 비활성화하지 않기 때문에 자체 서명된 TLS 인증서가 설치되고 기본 이름 및 비밀번호를 가진 내부 사용자가 생성됩니다.
version: '3'
services:
  opensearch-node1:
    image: opensearchproject/opensearch:latest
    container_name: opensearch-node1
    environment:
      - cluster.name=opensearch-cluster
      - node.name=opensearch-node1
      - discovery.seed_hosts=opensearch-node1,opensearch-node2
      - cluster.initial_cluster_manager_nodes=opensearch-node1,opensearch-node2
      - bootstrap.memory_lock=true
      - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
      - OPENSEARCH_INITIAL_ADMIN_PASSWORD=${OPENSEARCH_INITIAL_ADMIN_PASSWORD}
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    volumes:
      - opensearch-data1:/usr/share/opensearch/data
    ports:
      - 9200:9200 # REST API
      - 9600:9600 # Performance Analyzer
    networks:
      - opensearch-net
  opensearch-node2:
    image: opensearchproject/opensearch:latest
    container_name: opensearch-node2
    environment:
      - cluster.name=opensearch-cluster
      - node.name=opensearch-node2
      - discovery.seed_hosts=opensearch-node1,opensearch-node2
      - cluster.initial_cluster_manager_nodes=opensearch-node1,opensearch-node2
      - bootstrap.memory_lock=true
      - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
      - OPENSEARCH_INITIAL_ADMIN_PASSWORD=${OPENSEARCH_INITIAL_ADMIN_PASSWORD}
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    volumes:
      - opensearch-data2:/usr/share/opensearch/data
    networks:
      - opensearch-net
  opensearch-dashboards:
    image: opensearchproject/opensearch-dashboards:latest
    container_name: opensearch-dashboards
    ports:
      - 5601:5601
    expose:
      - "5601"
    environment:
      OPENSEARCH_HOSTS: '["https://opensearch-node1:9200","https://opensearch-node2:9200"]'
    networks:
      - opensearch-net

volumes:
  opensearch-data1:
  opensearch-data2:

networks:
  opensearch-net:

 

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유