今回は、Elasticsearch5.6.1のインストール方法(tar.gz)をご紹介します。
インストール手順については、Elasticsearch自体が日本語の情報が少ないのと、基本的に日本語の情報は古いものが多いですので、公式の英語マニュアルを参考に進めていきます。
Elasticsearchインストール環境
# cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.2 LTS (Xenial Xerus)"
Elasticsearchインストール手順概要
基本的には以下公式サイトの手順でインストールしていきますので、不明点がある場合は公式サイトも目を通してみてください。
Set up Elasticsearch | Elasticsearch Reference [5.6] | Elastic
Installing Elasticsearch | Elasticsearch Reference [5.6] | Elastic
Javaのインストール
まず、以下公式サイトにもあるように、Javaのインストールが必要です。
Java (JVM) Versionedit
Elasticsearch is built using Java, and requires at least Java 8 in order to run. Only Oracle’s Java and the OpenJDK are supported. The same JVM version should be used on all Elasticsearch nodes and clients.
We recommend installing Java version 1.8.0_131 or later. Elasticsearch will refuse to start if a known-bad version of Java is used.
The version of Java that Elasticsearch will use can be configured by setting the
https://www.elastic.co/guide/en/elasticsearch/reference/6.4/setup.htmlJAVA_HOME
environment variable.
以下のJava(jdk9)(最新版)インストール手順 tar.gzの手順を参考に最新版のJavaをインストールしてください。
Elasticsearchのインストール
Javaのインストールが完了したら、Elasticsearchをインストールしていきます。
Elasticsearchユーザの作成
公式サイトの手順には、ぱっとみ見当たらなかったのですが、「tar.gz」からインストールしたものは、rootユーザでElasticsearchを起動するとエラーがでましたので、事前に専用のユーザを作成しておきたいと思います。
「adduser」コマンドについは、パスワードを入力し、残りはEnterで大丈夫です。
最後の「以上で正しいですか? [Y/n] 」の問いに「Y」を入力すればユーザが作成できます。
elasticsearchユーザ を sudo グループに追加しておきましょう。「sudoグループ」については事前に設定しておいてください。
# adduser elasticsearch
------------------------------------------------
ユーザー `elasticsearch' を追加しています...
新しいグループ `elasticsearch' (1001) を追加しています...
新しいユーザー `elasticsearch' (1001) をグループ `elasticsearch' に追加しています...
ホームディレクトリ `/home/elasticsearch' を作成しています...
`/etc/skel' からファイルをコピーしています...
新しい UNIX パスワードを入力してください:
新しい UNIX パスワードを再入力してください:
passwd: パスワードは正しく更新されました
elasticsearch のユーザ情報を変更中
新しい値を入力してください。標準設定値を使うならリターンを押してください
フルネーム []:
部屋番号 []:
職場電話番号 []:
自宅電話番号 []:
その他 []:
以上で正しいですか? [Y/n] Y
------------------------------------------------
# gpasswd -a elasticsearch sudo
ユーザ elasticsearch をグループ sudo に追加
Elasticsearchのダウンロード
elasticsearchユーザにスイッチして、インストールするディレクトリへ移動してください。(今回は、/usr/localへインストールします)
以下のように、「wget」コマンドで取得するか、Download Elasticsearch Free • Get Started Now | ElasticからWinSCP等で対象のディレクトリへ配置してください。
また、ダウンロードしたファイルが破損していないか公式サイトのチェックサム(published SHA)と比較して確認してください。
# su - elasticsearch
$ cd /usr/local
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.1.zip
$ sha1sum elasticsearch-5.6.1.tar.gz
31168d3e6383dd5aef03b150fc718c789b6ad1dd elasticsearch-5.6.1.tar.gz
Elasticsearchの解凍と配置
「tar.gz」ファイルを解凍して、できたディレクトリへ移動してください。
$ tar -xzf elasticsearch-5.6.1.tar.gz
$ cd elasticsearch-5.6.1/
Elasticsearchの起動
Elasticsearchを起動してみましょう。エラーが出力されずに起動できれば成功です。
別ターミナルを開いて、「curl」コマンドで「localhost:9200」アクセスしてみてください。
※もし、ポート9200が他に使われてしまっている場合はElasticsearchは別ポートで起動します。
$ ./bin/elasticsearch
-------------------------------------------------------
Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
.
.
[2017-09-26T20:28:03,736][INFO ][o.e.p.PluginsService ] [yUTLDl8] no plugins loaded
-------------------------------------------------------
★別ターミナルから
# curl -XGET 'localhost:9200/?pretty'
{
"name" : "yUTLDl8",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "8b0C5hPrTx2mIWx883sfWw",
"version" : {
"number" : "5.6.1",
"build_hash" : "667b497",
"build_date" : "2017-09-14T19:22:05.189Z",
"build_snapshot" : false,
"lucene_version" : "6.6.1"
},
"tagline" : "You Know, for Search"
}
不要ファイルの削除
起動することまで確認できたので、一旦ここで不要になったファイルは削除しておきましょう。
$ cd /usr/local
$ rm -i elasticsearch-5.6.1.tar.gz
Elasticsearchのバックグラウンド実行
今度はホームディレクトリへ移動して、Elasticsearchをデーモンモード(バックグラウンド)で実行してみましょう。
デーモンモードで起動できたら、再度curlコマンドでElasticsearchにアクセスして確認します。
$ cd ~
$ pwd
/home/elasticsearch
$ ls -l /usr/local/elasticsearch-5.6.1/bin/elasticsearch
-rwxr-xr-x 1 elasticsearch elasticsearch 8075 Sep 15 04:19 /usr/local/elasticsearch-5.6.1/bin/elasticsearch
$ /usr/local/elasticsearch-5.6.1/bin/elasticsearch -d -p pid
Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
$ cat pid
6556
$ curl -XGET 'localhost:9200/?pretty'
----------------------------------------------------
{
"name" : "yUTLDl8",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "8b0C5hPrTx2mIWx883sfWw",
"version" : {
"number" : "5.6.1",
"build_hash" : "667b497",
"build_date" : "2017-09-14T19:22:05.189Z",
"build_snapshot" : false,
"lucene_version" : "6.6.1"
},
"tagline" : "You Know, for Search"
}
----------------------------------------------------
$ kill `cat pid`
ES_HOMEの設定
リンクを張って、「ES_HOME」を設定しておきましょう。
シンボリックリンクを貼る
ディレクトリを移動して、相対パスで、リンクを張っておきます。
$ whoami
elasticsearch
$ cd /usr/local
$ sudo ln -sf elasticsearch-5.6.1/ elasticsearch
$ ls -l elasticsearch
lrwxrwxrwx 1 root root 20 Sep 26 22:34 elasticsearch -> elasticsearch-5.6.1/
ES_HOMEの設定
elasticsearchユーザの「.bashrc」に追記して、「ES_HOME」を設定してください。
$ vi ~/.bashrc
----------------------------------------
export ES_HOME=/usr/local/elasticsearch
----------------------------------------
$ exit
ログアウト
# su - elasticsearch
$ env|grep -i es_home
ES_HOME=/usr/local/elasticsearch
ElasticsearchコマンドをPATHに追加
最後にElasticsearchコマンドをPATHにいれて完了としましょう。
$ whoami
elasticsearch
$ ls -l /usr/local/elasticsearch/bin/
---------------------------------------------------------
合計 348
-rwxr-xr-x 1 elasticsearch elasticsearch 8075 Sep 15 04:19 elasticsearch
-rwxr-xr-x 1 elasticsearch elasticsearch 2550 Sep 15 04:19 elasticsearch-keystore
.
.
-rw-r--r-- 1 elasticsearch elasticsearch 1023 Sep 15 04:19 elasticsearch.in.bat
-rwxr-xr-x 1 elasticsearch elasticsearch 367 Sep 15 04:19 elasticsearch.in.sh
---------------------------------------------------------
$ vi ~/.bashrc
以下を追記する。
---------------------------------------------------------
export PATH="/usr/local/elasticsearch/bin:$PATH"
---------------------------------------------------------
まとめ
お疲れ様でした。
次回以降は、Elasticsearchの起動スクリプトとcurlでのアクセス方法、プラグインを活用した方法をご紹介していきます。
コメント