OpenSearch란?
2021년 1월 21일, Elastic에서 Elasticsearch와 Kibana의 Apache 2.0 라이선스 소스 코드를 Elastic License 및 SSPL 1.0에 따라 이중 라이선스로 전환(7.11 릴리즈부터 적용)
해당 라이선스는 오픈 소스가 아니며 사용자에게 동일한 자유를 제공하지 않음

https://www.elastic.co/kr/pricing/faq/licensing
기존의 오픈소스 코드를 기본으로 Open Distro for Elasticsearch 플러그인을 개발하여 고급 보안, 이벤트 모니터링 및 알람 등의 기능을 지원하던 AWS는 Elasticsearch 및 Kibana의 마지막 OpenSource 버전(7.10)을 포크하여 OpenSearch라는 이름으로 Apache 2.0 라이선스로 Github에 오픈.
OpenSearch는 Apache 2.0 라이선스 하에 제공되는 분산형 커뮤니티 기반 100% 오픈 소스 검색 및 분석 제품군으로, 실시간 애플리케이션 모니터링, 로그 분석 및 웹 사이트 검색과 같이 다양한 사례에 사용.
OpenSearch는 데이터 탐색을 쉽게 해주는 통합 시각화 도구 OpenSearch 대시보드와 함께 대량 데이터 볼륨에 빠르게 액세스하고 응답하며 뛰어난 확장성을 지닌 시스템을 제공.
Apache Lucene 검색 라이브러리로 구동되며 k-nearest neighbors(KNN) 검색, SQL, Anomaly Detection, Machine Learning Commons, Trace Analytics, 전체 텍스트 검색 등 다수의 검색 및 분석 기능을 지원하며, 원하는 방식으로 사용, 수정, 확장, 수익화, 재판매가 가능한 100% 오픈 소스 제품
K8S OpenSearch 클러스터 구축
Helm은 Kubernetes 클러스터에서 애플리케이션을 손쉽게 배포하기 위해 사용되는 패키징툴이며, OpenSearch 또한 OpenSearch Project Helm-Charts를 이용하여 쉬운 설치와 관리 가능
https://github.com/opensearch-project/helm-charts
1. Helm repository 추가 및 업데이트
helm repo add opensearch https://opensearch-project.github.io/helm-charts/
helm repo update
2. nodetype 별 yaml 파일 작성
helm install 시 반영할 nodetype(master, coordinator, data)별로 custom yaml 파일을 작성하여 Release 구분
https://opensearch.org/blog/setup-multinode-cluster-kubernetes/
master.yaml
clusterName: "opensearch-cluster"
nodeGroup: "master"
masterService: "opensearch-cluster-master"
roles:
master: "true"
ingest: "false"
data: "false"
remote_cluster_client: "false"
replicas: 1
data.yaml
clusterName: "opensearch-cluster"
nodeGroup: "data"
masterService: "opensearch-cluster-master"
roles:
master: "false"
ingest: "true"
data: "true"
remote_cluster_client: "false"
replicas: 1
client.yaml (coordinator)
clusterName: "opensearch-cluster"
nodeGroup: "client"
masterService: "opensearch-cluster-master"
roles:
master: "false"
ingest: "false"
data: "false"
remote_cluster_client: "false"
replicas: 1
3. yaml 파일 이용해 helm 배포
helm install opensearch-master opensearch/opensearch -f usr/data/master.yaml
helm install opensearch-data opensearch/opensearch -f usr/data/data.yaml
helm install opensearch-client opensearch/opensearch -f usr/data/client.yaml
※ 구축 시 발생 가능 이슈
- vm.max_map_count 관련 에러
ERROR: [1] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
- yaml파일에 아래 옵션 적용 후 install
sysctl:
enabled: true
sysctlVmMaxMapCount: 262144
- 클러스터 생성 후 바로 접속 시 unauthorized 메세지 발생하며 접속 불가할 경우
- master 노드 접속해 /usr/share/opensearch/plugins/opensearch-security/tools 경로 아래의 securityadmin.sh 실행해 security index 생성 후 접속 가능
cd /usr/share/opensearch/plugins/opensearch-security/tools
./securityadmin.sh -cd ../securityconfig/ -icl -nhnv \
-cacert ../../../config/root-ca.pem \
-cert ../../../config/kirk.pem \
-key ../../../config/kirk-key.pem
4. opensearch dashboard 배포 및 클러스터 UI 접속
helm install dashboards opensearch/opensearch-dashboards

'OpenSearch' 카테고리의 다른 글
Data Prepper vs Logstash (1) | 2023.11.18 |
---|