오픈서치 설치를 공유
- 간단한 예제 설치
- 사이트공식 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: