Microsoftが提供するクラウドサービス「Azure」にCentOSの仮想マシンを構築し、その仮想マシンにElasticsearchをインストールする手順を解説する。
このエントリでは、
- Javaのインストール
- Elasticsearchのインストール
- Elasticsearchの動作環境の設定
について解説する。
尚、AzureにCentOSの仮想マシンを構築する手順については割愛する。
AzureのCentOSにElasticsearchをインストールする手順の概要
Azureだからといって、特別な手続きやお作法が必要なわけでは無い。
基本的には、LinuxディストリビューションであるCentOSに、Elasticsearchをインストールするという手順だ。
Elasticsearchをインストールする環境
今回、Elasticsearchをインストールする環境は、下記の構成となっている。
- CentOS7.7
- Java11
また、インストールするElasticsearchは、7.5.1とする。
仮想マシンのスペック
今回、Elasticsearchを導入するターゲット環境は、Microsoft Azureに構築された仮想マシンで、CentOS7.7がインストールされている。
仮想マシンのスペックだが、Azureの仮想マシンには、「サイズ」という概念があって、サイズによって、処理能力やメモリ量などが決まっている。
今回は、「Standard B2s (2 vcpu 数、4 GiB メモリ)」というサイズの仮想マシンにElasticsearchをインストールする。
Azure仮想マシンのサイズについては、Azure の Linux 仮想マシンのサイズを参照のこと。
CentOS7.7にJava(JDK)をインストール
Elasticsearchを動作させるには、Javaが必要だ。
今回は、OpenJDK11を導入する。
CentOSへのJavaのインストールは、下記の通りyumを利用する。
sudo yum install java-11-openjdk.x86_64
sudo yum install java-11-openjdk-devel.x86_64
JREとJDKが、別のパッケージで提供されているので、それぞれをインストールする。
コマンドを実行すると、画面上に多くの表示がされるが、最後に「Complete!」と表示されるはずだ。
Javaのインストールを確認するには、「java --version
」を実行して、Javaのメッセージが表示されれば完了だ。
Elasticsearchのインストール
Elasticserachのインストール手順は、Install Elasticsearch with RPMに詳しく解説されており、今回もこちらを参考にインストールを行った。
尚、これらの手順は、管理者権限が必要となる。
Azureは、仮想マシン作成時に指定したユーザーにsudo権限が付与されているので、「sudo su -
」で管理者に転身できる。
適宜、sudoとかsu等してください。
Elasticsearch署名キーのインポート
yumでElasticsearchをインストールする前に、署名キーをインポートする。
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Elasticsearch用のyumレポジトリを作成
yumを使ってElasticsearchをインストールするには、yumのレポジトリファイルを作成しなければならない。
作成するレポジトリファイルは「/etc/yum.repos.d/elasticsearch.repo」というファイル。
レポジトリファイルに記述する内容は、下記の通り。
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md
Elasticsearchのインストール
下記コマンドで、Elasticsearchをインストールする。
yum install --enablerepo=elasticsearch elasticsearch
コマンドを実行すると、画面上に色々表示されるが、最後に「Complete!」と表示されれば完了。
Elasticsearchの起動設定
Elasticsearchの起動は下記。
sudo systemctl start elasticsearch
仮想マシンの再起動後も、自動的にElasticsearchを起動させるために、下記コマンドを実行する。
sudo systemctl enable elasticsearch
Elasticsearchの起動確認
Elasticsearchの起動確認は、
sudo systemctl status elasticsearch
を実行すると、Elasticsearchの状態が表示される。
また、下記コマンドを実行しても、Elasticsearchの状態が返却される。
curl http://localhost:9200
Elasticsearch関連のディレクトリ
Elasticsearchに関連するディレクトリについてまとめる。
- /usr/share/elasticsearch/
- Elasticsearchのインストールディレクトリ
- /etc/elasticsearch
- Elasticsearchの設定ファイルを収めたディレクトリ
- /var/log/elasticsearch
- Elasticsearchのログファイルを取得するディレクトリ
- /var/lib/elasticsearch
- Elasticsearchのデータディレクトリ
- /etc/sysconfig/elasticsearch
- Elasticsearchの動作環境をするファイルを収めたディレクトリ
まとめ:AzureのCentOSにも普通にインストール出来る
今回は、Azureに構築した仮想マシンにCentOS7.7を導入し、Elasticsearchをインストールしてみた。
Azure特有の問題やクセは特に無く、普通にCentOSにElasticsearchをインストールするという流れだ。
当初は、1GBのメモリ環境の仮想マシンにElasticsearchをしたが、Elasticsearchは起動しなかった。
Azureの仮想マシンサイズでいうところの、Standard B2s (2 vcpu 数、4 GiB メモリ)というスペックで、何とか動作しているという印象である。
本格的な運用を視野に入れると、更に贅沢なマシンスペックが必要になるだろう。