Elasticsearchをダウンロードしローカルで実行する (Mac)


Get Elasticsearch & Kibana

以下からElasticsearch, Kibanaをダウンロードする

Get Started with Elasticsearch, Kibana, and the Elastic Stack | Elastic

elasticsearch.yml

elasticsearch-7.9.2/config/elasticsearch.yml

データ保存領域の変更

扱いやすいように、データ保存領域の変更を行う

ここでは/Users/your name/Elasticsearch/local/data/配下に作成した

# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
path.data: /Users/your name/Elasticsearch/local/data/data
#
# Path to log files:
#
path.logs: /Users/your name/Elasticsearch/local/data/logs
#

プラグインの追加

kuromojiの追加

$ bin/elasticsearch-plugin install analysis-kuromoji
-> Installing analysis-kuromoji
-> Downloading analysis-kuromoji from elastic
[=================================================] 100%   
-> Installed analysis-kuromoji

icuの追加

$ bin/elasticsearch-plugin install analysis-icu
-> Installing analysis-icu
-> Downloading analysis-icu from elastic
[=================================================] 100%   
-> Installed analysis-icu

実行

elasticsearchのフォルダへ移動して

bin/elasticsearch

kibanaのフォルダへ移動して

bin/kibana

Open Kibana

以下のURLへアクセスする

http://localhost:5601

サンプルデータの登録

Try our sample dataボタンを押す

試してみたいデータをポチッとAdd dataボタンを押す
ここではSample web logsを入れてみた

データ追加が終わるとボタンがView dataに変わるのでおす
dashboardを表示してみる

いい感じにダッシュボードが表示されました。

データの登録

Githubにあるサンプルデータを使います
CraigKelly/steam-data: A simple data project for Steam data

以下からサンプルデータをダウンロードします。
https://s3.amazonaws.com/public-service/steam-data.tar.gz

詳しい説明はここにも書いてあります

Kibanaメニューの[Machine Learning > データビジュアライザー]

先ほどダウンロードしたファイルの中のgames-features.csvを入れます。

データが読み込まれてヘッダー行が解析されます。データも中身が解析されておおよその型が類推されます。

名前を変えたい場合にはOverride settingsを押します。

元データに空の列が入っている場合には、(games-features.csvには空列が紛れてますのでチェックが必要です)
「Should trim fields」にチェックを入れます。

ひとしきり眺めたら、importボタンをポチッと押します。

Import data


今回は_idを自動作成ではなくて、データ中のResponseIDを_id として使いたいので、Ingest pipelineに設定を追加します。

Ingest pipelineの下部の方、remove: field の下に _idのsetを追加します。

,
{
  "set" : {
    "field" : "_id",
    "value" : "{{ResponseID}}"
  }
}

importボタンをポチッと押します。

しばらく待つと取り込まれます。

discover

discoverで見るとデータが取り込まれています。

認証の追加

認証の有効化

elasticsearch.ymlに以下を追加

elasticsearch.yml
xpack.security.enabled: true

パスワードの設定

elasticsearch-setup-passwords でパスワードを設定する

$ sudo bin/elasticsearch-setup-passwords interactive

result

Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y


Enter password for [elastic]: 
Reenter password for [elastic]: 
Enter password for [apm_system]: 
Reenter password for [apm_system]: 
Enter password for [kibana_system]: 
Reenter password for [kibana_system]: 
Enter password for [logstash_system]: 
Reenter password for [logstash_system]: 
Enter password for [beats_system]: 
Reenter password for [beats_system]: 
Enter password for [remote_monitoring_user]: 
Reenter password for [remote_monitoring_user]: 
Changed password for user [apm_system]
Changed password for user [kibana_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]

それぞれのユーザーに対してパスワードを設定していく

kibana設定

kibana.ymlに以下を追加する

elasticsearch.username: "kibana_system"
elasticsearch.password: "password"

Elasticsearchの認証ユーザーを構築前に事前登録する. 今月は新型コロナの影響で、ずっと在宅勤務してました。 | by Taisuke Hinata | hinatades | Medium