概要
ローカルPC上にOpenSearchとOpenSearchDashboardsを立ち上げてみた。
背景と目的
AWSのOpenSearchを時々利用することがあるのだが、お試しで使いたいときにいちいちAWS上にインスタンスを立てて動かしているとお金がかかる。そこで、ローカルで試せるように環境を整える。
詳細
0. 環境および参考資料
0.1 環境
- Windows 10 22H2
- MacBookPro15
- WSL2導入済み
0.2 参考
1. Docker Desktopのインストール
OpenSearchは参考1にあるように、Dockerで環境がセットアップできるようになっている。そこで、まずはDocker環境を用意する。
こちらから、Docker Desktopインストーラをダウンロードして実行した。
2. OpenSearch Docker コンテナをインストール
参考1から、docker-compose.ymlをダウンロードする。
docker-compose.ymlがあるディレクトリに移動し、コマンドプロンプトにて
docker compose up -d
Docker Desktopにて、opensearchおよびopensearch-dashboardsのイメージがダウンロードされたこと、そのイメージを使ったコンテナが作成されたことを確認。コンテナの起動まで行われるが、後述の理由により、opensearch-node1と2はうまく起動しない。
- image
- container
3. WSLの設定
先ほど、opensearch-node1と2のコンテナが起動しなかった理由は、
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
とエラーログが出て止まっていることから、vm.max_map_countという設定値が適切でないということがわかった。そこで、参考2のように、C:\Users\ユーザー名 フォルダに、.wslconfigというファイルを作成し、以下の内容を記入。
[wsl2] kernelCommandLine = "sysctl.vm.max_map_count=262144"
さらに、docker Desktopを終了させ、powershellから以下を実行してWSL2を停止させる。
wsl --shutdown
再度Docker Desktopを立ち上げる。
4. 改めて起動
改めて、以下3つのコンテナを起動したところ今度はエラーが出ず起動した。
- opensearch-node1
- opensearch-node2
- opensearch-dashboards
5. 動作確認
http://localhost:5601 にアクセス。最初は、以下の表示が出る。opensearch-node1,2の準備が整っていないようだ。
OpenSearch Dashboards server is not ready yet
少し待ってからページをリロードしたところ、ログイン画面が表示されログインして以下のような表示が出た。ということで、無事立ち上げることができた。
まとめと今後の課題
ローカルPC上にOpenSearchとOpenSearchDashboardsを立ち上げることができた。ひとまず、これで遊べる環境が整った。