OpenSearchをDocker Composeで起動してみた

AWSOpenSearch Serviceを使うことがあり、自分のPC上でOpenSearchを動かしてみました。

環境

  • macOS Monterey (Ver 12.3)
  • Docker Desktop (Ver 4.6.1)

インストール

Docker Composeを使って起動します。 事前にDockerがインストールされていることを確認しておきます。

$ docker --version
Docker version 20.10.13, build a224086
$ docker-compose --version
Docker Compose version v2.3.3

OpenSearchの公式サイト(https://opensearch.org/downloads.html)から docker-compose.ymlを任意の場所にダウンロードし、下記コマンドを実行します。

$ docker-compose up

OepnSearchのイメージが取得されコンテナが起動します。 Webブラウザからhttp://localhost:5601にアクセスすると 無事OpenSearch Dashboardsが起動していることを確認できました。

OpenSearchの概要

公式ドキュメントの導入部分を読んだので、最後に用語をメモしておきます。 opensearch.org

クラスターとノード

  • クラスタ1は1つ以上のノードの集合
  • ノードはデータを保存したり、検索を処理するサーバーのこと

インデックスとドキュメント

  • OpenSearchではデータはインデックスごとに管理される
  • 各インデックスはJSON形式のドキュメントの集合

プライマリシャードとレプリカシャード

  • クラスター内の各ノードにデータを分散させるため、インデックスは複数のシャードに分割される
  • ノード障害に備えて、プライマリシャードごとにレプリカシャードが作られる
  • レプリカシャードはプライマリシャードとは別のノードで管理される
  • レプリカシャードがあることで検索速度も改善する