概要
ElasticSearchの検証のため、AWS EC2のt2.nano上にElasticSearchをインストールしたときの忘備録です
yumのアップデート
EC2インスタンスを作った時のお決まり
$ sudo yum update
Java8のインストール
$ sudo yum install java-1.8.0-openjdk.x86_64
すでにJava7が入っているため、デフォルト設定をJava8に変更します
$ sudo alternatives --config java
> There are 2 programs which provide 'java'.
> Selection Command
> -----------------------------------------------
> *+ 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
> 2 /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java
Enter to keep the current selection[+], or type selection number:2
ElasticSearchのインストール
$ mkdir ~/src
$ cd ~/src
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.7.rpm
$ sha1sum elasticsearch-5.6.7.rpm
$ sudo rpm --install elasticsearch-5.6.7.rpm
t2.nanoのメモリが0.5GBしかないのにデフォルトで2GBに設定されているため、JVMの設定を256MBに設定します。
これをしないとElasticSearchの起動に失敗します。
$ sudo su
$ vim /etc/elasticsearch/jvm.options
/etc/elasticsearch/jvm.options
#-Xms2g
#-Xmx2g
-Xms256m
-Xmx256m
外部からのアクセスを受け付けるため、elasticsearch.yml
に以下を追記
$ vim /etc/elasticsearch/elasticsearch.yml
/etc/elasticsearch/elasticsearch.yml
・・・
network.host: ec2-xxx-xxx-xxx-xxx.ap-northeast-x.compute.amazonaws.com
transport.host: localhost
自動起動設定を追加
$ sudo chkconfig --add elasticsearch
起動
$ sudo -i service elasticsearch start
確認
ElasticSearchのデフォルトポートは9200
ブラウザから以下にアクセス
http://ec2-XX-XXX-XX-XX.ap-northeast-1.compute.amazonaws.com:9200/
↓のようなJSONが返ってきたらセットアップ成功!
{
"name" : "DznLRHS",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "WodF7ptTR-K7F6LRYBbAQw",
"version" : {
"number" : "5.5.0",
"build_hash" : "260387d",
"build_date" : "2017-06-30T23:16:05.735Z",
"build_snapshot" : false,
"lucene_version" : "6.6.0"
},
"tagline" : "You Know, for Search"
}