0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Elasticsearchクラスタを一瞬で起動するstart localを使う

Posted at

はじめに

Elasticsearchはオープンソースですので、いつでもどこでも自由に機能を試すことができます。過去にもdocker composeで簡単に立ち上げる記事を記載してきました。
https://qiita.com/takeo-furukubo/items/c2f194679afadc06a4e9
これでも問題ないのですが、ElasticがGitHubにStart Localというリポジトリを作成しました。
https://github.com/elastic/start-local
これが非常に便利で、Elasticsearchクラスタをコマンド一発で立ち上げてくれます。
GitHubのREADMEを読めば何の問題もありませんが、ここでも解説をしておきます。

因みに似たようなものでelastic-packageというのもあります。これはIntegrationの開発などで使うことを想定していますが、中でやっていることはほぼ同じです。
ブログがありますのでこちらも参考にしてください。
https://qiita.com/daixque/items/819b03bfa19acd371af6

試した環境

Macbook Pro M3
Sonoma 14.7

docker composeを使いますので、インストールしておいてください。
勿論Linuxでも動きます。
WindowsだとWSLが必要です。

ライセンス

Trialライセンスです。30日間はすべての機能を使用できます。30日過ぎるとBasicになります。

手順

起動

本当にコマンド一つです。
curl -fsSL https://elastic.co/start-local | sh
shの中を見るとわかりますが、やっていることは以下のことです。

  • elastic-start-localというフォルダ名作成
  • 環境の確認
  • docker-compose.ymlの作成
  • start/stop/uninstall用のshファイル作成
  • コンテナ起動
  • API key/passwordを含めた.envファイル作成

HTTPSは使用されていません。
問題なく実行されると以下のようにパスワードとAPI Keyが表示されます。
パスワードはランダム作成なので以下のものは使えません(当たり前ですが)

🌐 Open your browser at http://localhost:5601

   Username: elastic
   Password: Y4cmdo3Q

🔌 Elasticsearch API endpoint: http://localhost:9200
🔑 API key: OE50MW1KSUJhYk5CMFp0TFRVLW86bkR1S1Y4MEJTbENtbGh2UFBvaUF6QQ==

起動するとコンテナが2つ立ち上がります。elastic-start-localフォルダに移ってdocker compose psを実行すると以下のようになります。

elastic-start-local % docker compose ps
NAME               IMAGE                                                  COMMAND                   SERVICE         CREATED         STATUS                   PORTS
es-local-dev       docker.elastic.co/elasticsearch/elasticsearch:8.15.2   "/bin/tini -- /usr/l…"   elasticsearch   7 minutes ago   Up 7 minutes (healthy)   127.0.0.1:9200->9200/tcp, 9300/tcp
kibana-local-dev   docker.elastic.co/kibana/kibana:8.15.2                 "/bin/tini -- /usr/l…"   kibana          7 minutes ago   Up 7 minutes (healthy)   127.0.0.1:5601->5601/tcp

アクセス

http://localhost:5601
でアクセスできます。
インストール実行時に表示されたパスワードでKibanaにログインできます。

停止

./stop.sh
で停止します。Docker Volumesは消去しませんのでデータは残ります。

再起動

./start.sh

アンインストール

./uninstall.sh
Docker Volumesや.env,docker-compose.ymlなど全て消去します。
30日経ってライセンスがBasicになってしまった場合は、一度全て消してしまえば再度Trialライセンスですべての機能を使用できます。(データは消えますが)

設定

docker-compose.ymlに記載されているのでそれを変更します。

メモリ

メモリはあるだけ使うので以下の部分で必要に応じて制限します。

    ulimits:
      memlock:
        soft: -1
        hard: -1

機械学習用メモリ

機械学習で使用できるメモリ量は自動的に決まります
- xpack.ml.use_auto_machine_memory_percent=true
こちらに記載があります。
https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-settings.html
明示的にメモリ量の比率を決めたい場合はxpack.ml.max_model_memory_limitを設定します。

まとめ

Elastic Cloudを使っていただくのが一番手っ取り早いのですが、手元で試してみたいという場合はstart-localが便利です。
是非お試しください。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?