こんにちは。新卒二年目エンジニアの土屋です。
以前の私の記事ではElasticsearchのJava API Clientの使用方法をご紹介しましたが、今回はElasticsearch環境をローカルで立ち上げる方法をブログにしてみました!
概要
タイトルはElasticsearchのローカル環境構築としましたが、Elasticsearchのみでは環境構築後、色々と管理や操作が面倒なのでKibanaの立ち上げまで今回は説明していきます。
Kibanaとは
Elasticsearchのデータ可視化やElasticsearch等のElastic Stackの制御がGUI上で行えるものです。インデックス等の一覧の表示や管理が可能であり、実際にElasticsearchのAPIを叩くこともできます。
環境
今回は下記の環境でElasticsearchとKibanaの環境構築をしました。
使用PC
OS:Windows 10 Pro
実装メモリ(RAM):16.0GB
システム:64 ビット オペレーティング システム、x64 ベース プロセッサ
バージョン等
Elasticsearch : 8.10.1
Kibana : 8.10.1
Java 8
1. Javaのインストール
ElasticsearchはJavaで開発されているため、動かすにはJavaのインストールが必須となります。環境変数のJAVA_HOMEからJavaを呼ぶため、こちらの設定も必要になります。今回は詳細なJavaのインストール方法に関しては省略します。
2. Elasticsearchのダウンロードと起動
まずは、公式のダウンロードページからElasticsearchをダウンロードしてください。zipファイルがダウンロードされますので、解凍しておきましょう。
解凍したら以下の様なディレクトリ構成となっているはずです。
今回はデフォルトの設定で起動するため、後はbin\elasticsearch.batを実行するだけでElasticsearchが立ち上がります。非常に簡単ですね!
(起動前にconfig\elasticsearch.ymlを変更することでポート番号や各種設定を変更できます。)
3. Elasticsearchの起動確認
デフォルトのHTTPポートは9200となっているので、起動を確認するために以下のコマンドを叩いてみましょう。
このままだと以下のようなレスポンスが返って来ると思います。
認証情報がないと怒られてはいますが、Elasticsearch自体は起動していることが分かると思います。
4. Elasticsearchの接続確認
Elasticsearchの起動は確認できましたが、このままでは認証ができずElasticsearchを使用できないため、ビルドインユーザーを使って再度接続します。
ビルドインユーザーのパスワードはbin/elasticsearch-setup-passwords.batを実行することで設定できます。色々なビルドインユーザーのパスワードの設定をそれぞれで求められますが今回は全て同じ「pswd」に設定しました。ここではビルドインユーザー[elastic]を指定してcurlを実行します。
今度はエラーが無くclusterやバージョン等の情報が返ってくることが確認できました。
これでElasticseachが使えるようになりました。このままindexの操作や検索も可能ですし、ビルドインユーザを使って一般ユーザを作成することもできます。
5. Kibanaのダウンロードと起動
Elasticsearch同様、公式のダウンロードページからzipファイルをダウンロードして解凍します。
Kibanaが先ほど起動したElasticsearchに接続できるようにconfig\kibana.ymlのElasticsearchの設定欄のelasticsearch.usernameとelasticsearch.passwordに「kibana」と「paswd」を指定します。ここではビルドインユーザー[elastic]と権限が異なるビルドインユーザー[kibana]を使用します。
今回はビルドインユーザーを指定しましたが、サービスアカウントトークンを発行し、elasticsearch.serviceAccountTokenの設定でもElasticsearchに接続可能です。
では設定が完了したのでbin/kibana.batを実行してKibanaを起動します。(こちらもその他設定はデフォルトのまま)
デフォルトのHTTPポートは5601となっているのでブラウザでhttp://localhost:5601/を開いてみてください。
ログイン画面が出てくるので、とりあえずビルドインユーザー[elastic]を使ってログインします。
以下のような画面が表示されKibanaが問題なく使えるようになりました!
まとめ
今回はElasticsearchとKibanaのローカルでの環境構築方法をご紹介しました。実際にElasticsearchを運用するのはElastic Cloud等クラウド環境を使用するケースが多いかと思いますが、開発環境としてローカルPCでササっと環境構築して動くのは良いですね。
最後まで読んで頂きありがとうございました。
(土屋)