ローカル環境でOpenSearchを簡単に実行する方法(ダッシュボードなし)
OpenSearchは強力な検索エンジンで、ログ分析、検索エンジン、データ分析などに広く使用されています。時には、ダッシュボードを使わず、軽量にOpenSearchサーバーのみをローカル環境で実行し、データをテストしたり、開発環境で活用することが求められます。今回は、Docker Composeを使用してOpenSearchを軽量に実行する方法を紹介します。
必要なもの
- DockerとDocker Composeがインストールされたローカル環境
- 最低4GB以上のメモリ
Docker Compose設定ファイルの作成
以下は、OpenSearchをローカル環境で実行するためのdocker-compose.yml
ファイルです。このファイルはダッシュボードを使用せず、OpenSearchサーバーのみをシンプルに実行するための設定です。
version: '3'
services:
opensearch:
image: opensearchproject/opensearch:latest
container_name: opensearch-node1
environment:
- cluster.name=opensearch-cluster
- node.name=opensearch-node1
- discovery.type=single-node
- bootstrap.memory_lock=true
- "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- opensearch-data:/usr/share/opensearch/data
ports:
- 9200:9200
- 9600:9600
networks:
- opensearch-net
volumes:
opensearch-data:
networks:
opensearch-net:
主要設定
-
image
: OpenSearchの最新バージョンイメージを使用します。 -
discovery.type=single-node
: クラスタ構成なしで単一ノードモードで実行されるように設定します。 -
OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m
: OpenSearchが使用するメモリ量を設定します。デフォルトで512MBを割り当てます。 -
ports
: OpenSearchは9200ポートで動作し、9600ポートはステータスチェック用のポートです。 -
volumes
: OpenSearchのデータはopensearch-data
ボリュームに保存されます。
OpenSearchの起動
-
docker-compose.yml
ファイルを作成したら、ターミナルでそのファイルがあるディレクトリに移動します。 - 次のコマンドでOpenSearchを起動します:
docker-compose up -d
このコマンドを実行すると、OpenSearchがバックグラウンドで実行されます。
OpenSearchの状態確認
OpenSearchが正常に起動しているかどうかは、次のコマンドでDockerコンテナの状態を確認することができます。
docker ps
正常に実行されている場合、opensearch-node1
コンテナが一覧に表示されます。
OpenSearch APIでデータをテストする
OpenSearchが起動したので、curl
コマンドを使用してデータの保存や取得をテストできます。
クラスター状態の確認
curl -X GET "http://localhost:9200"
正常に動作していれば、クラスターの状態情報がJSON形式で返されます。
データインデックスの作成
curl -X PUT "http://localhost:9200/my-index?pretty"
このコマンドはmy-index
という名前のインデックスを作成します。
ドキュメントの追加
curl -X POST "http://localhost:9200/my-index/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{
"name": "Jane Doe",
"age": 29,
"occupation": "Developer"
}'
このコマンドはインデックスにドキュメントを追加します。
ドキュメントの取得
curl -X GET "http://localhost:9200/my-index/_doc/1?pretty"
このコマンドは、IDが1のドキュメントを取得します。
まとめ
このようにして、OpenSearchをローカル環境でシンプルに実行し、ダッシュボードを使用せずにデータを操作する方法を紹介しました。必要に応じてOpenSearch Dashboardsを追加し、視覚化も可能ですが、今回のガイドでは軽量にOpenSearchを使用することに焦点を当てました。