Elasticsearch 5.3をお手軽にセットアップする方法
概要
本記事ではElasticsearch5.3を簡単にセットアップする方法について紹介します。以下を目指します。
- Elasticsearch 5.3をシングルノードでセットアップする
- Basic認証は使わない
- データを永続化する
使うツール
- docker
- docker compose
docker-compose.yml
-
Elasticsearch 5.3.0ではシングルーノードがサポートされていないので任意のクラスター名を指定します
Copied!!- cluster.name=docker-cluster
-
ベーシック認証をオフにします
Copied!!- xpack.security.enabled=false
-
データを永続化するためにvolumesを指定します
Copied!!volumes: # ${ローカルディレクトリのパス}:${コンテナ内のパス} - ./elasticsearch:/usr/share/elasticsearch/data
docker-compose.ymlCopied!!services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:5.3.0 container_name: elasticsearch environment: - cluster.name=docker-cluster # ベーシック認証はオフにする。デフォルトtrue - xpack.security.enabled=false - "ES_JAVA_OPTS=-Xms1024m -Xmx1024m" ports: - "9200:9200" - "9300:9300" volumes: - ./elasticsearch:/usr/share/elasticsearch/data networks: - elastic-network networks: elastic-network: driver: bridge
セットアップ
-
docker-compose.ymlを置いたディレクトリで以下を実行してください
Copied!!$ sudo docker compose up
または
Copied!!$ sudo docker-compose up
-
elasticsearchにヘルスチェックをしてみます。
Copied!!$curl http://127.0.0.1:9200/_cat/health 1728987448 10:17:28 docker-cluster yellow 1 1 2 2 0 0 2 0 - 50.0%
コンテナの起動へ失敗した方へ
指定したローカルディレクトリへの権限が無い旨のメッセージでコンテナの起動に失敗する場合があります。
その場合はローカルディレクトリへ次のように権限を付与してください。
Copied!!$ id -u 1000 $ sudo chown -R 1000:root elasticsearch/
まとめ
これにて以下の3つを満たしたElasticsearch 5.3環境をセットアップできました。
- Elasticsearch 5.3をシングルノードでセットアップする
- Basic認証は使わない
- データを永続化する