🦆
Elasticsearch 入門(1)
Elasticsearch 入門(1)
Elasticsearch 8.14 を Mac 上の Docker で動かしてみます。
基本的に、Run Elasticsearch locally in Docker (without security) という手順書の通りにやってみるだけです。
なお、M2 Mac 上で MacOS (Ventura) を使っています。
Decker Desktop の準備
https://www.docker.com/products/docker-desktop/ から Docker Desktop を導入します。(私の場合、Apple Silicon 用のを導入します。)
ダウンロードして Docker.app をインストールします。(起動すると、最初に Docker アカウント作成とか色々あるはず。)
パスワード設定
~/.bash_profile
とかに、elasticsearch と kibana のパスワードの設定を下記のように追加して、$ source ~/.bash_profile
で設定します。
(<ES_PASSWORD>
とかのところは各自好きなパスワードを設定して下さい。)
正直、ローカルでしか実行しないのでパスワードは適当で良いのではないかと思います。
export ELASTIC_PASSWORD="<ES_PASSWORD>" # password for "elastic" username
export KIBANA_PASSWORD="<KIB_PASSWORD>" # Used _internally_ by Kibana, must be at least 6 characters long
Docker network を作る
下記のコマンドを入力して docker network を作ります。
$ docker network create elastic-net
Elasticsearch 起動
$ docker run -p 127.0.0.1:9200:9200 -d --name elasticsearch --network elastic-net \
-e ELASTIC_PASSWORD=$ELASTIC_PASSWORD \
-e "discovery.type=single-node" \
-e "xpack.security.http.ssl.enabled=false" \
-e "xpack.license.self_generated.type=trial" \
docker.elastic.co/elasticsearch/elasticsearch:8.14.3
初回は image 'docker.elastic.co/elasticsearch/elasticsearch:8.14.3' のダウンロードが行われます。
接続確認
curl で localhost:9200
に接続して確認できます。
curl -u elastic:$ELASTIC_PASSWORD \
-X PUT \
http://localhost:9200/my-new-index \
-H 'Content-Type: application/json'
{"acknowledged":true,"shards_acknowledged":true,"index":"my-new-index"}
python からの接続
$ pip3 install --upgrade pip
$ pip3 install elasticsearch
$ python -V
Python 3.11.5
$ python3
Python 3.11.5 (main, Sep 11 2023, 08:31:25) [Clang 14.0.6 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> from elasticsearch import Elasticsearch
>>> username = 'elastic'
>>> password = os.getenv('ELASTIC_PASSWORD')
>>> client = Elasticsearch(
... "http://localhost:9200",
... basic_auth=(username, password)
... )
>>> print(client.info())
{'name': 'a5de1176c2cf', 'cluster_name': 'docker-cluster', 'cluster_uuid': '4wVgfwAfT0iK1Vi6p5u0iw', 'version': {'number': '8.14.3', 'build_flavor': 'default', 'build_type': 'docker', 'build_hash': 'd55f984299e0e88dee72ebd8255f7ff130859ad0', 'build_date': '2024-07-07T22:04:49.882652950Z', 'build_snapshot': False, 'lucene_version': '9.10.0', 'minimum_wire_compatibility_version': '7.17.0', 'minimum_index_compatibility_version': '7.0.0'}, 'tagline': 'You Know, for Search'}
>>>
とりあえず接続出来ました。
Discussion