search
LoginSignup
12
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

EC2上にElasictsearchとKibanaをインストールする手順

Amazon Elasticsearch Serviceでは、Elasticsearchのプラグインのインストールに制限があるので、EC2上にElasicsearchを構築した際のメモ。

手順

インスタンス追加

まずはGUI等からEC2インスタンスを作成。

swap領域追加

メモリを多く使うことが想定されるので、念のためswap領域を追加。

対象のEC2にsshで接続して、rootユーザで1024MBのswap領域を追加。
検証用でt2.nanoを使っていたので多めに設定したが、適宜変える。

参考: http://qiita.com/waytoa/items/7010cfe2852d816c9513

以下のような状態にする。

$ free -m
             total       used       free     shared    buffers     cached
Mem:           489        484          5          0          8        416
-/+ buffers/cache:         59        430
Swap:         1023          0       1023

Elasticsearchインストール

ここからは全てec2-userでの作業を想定。

Java 8をインストール

$ sudo yum install -y java-1.8.0-openjdk-devel
$ sudo /usr/sbin/alternatives --config java

確認。

$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

rpmでインストール

今回は5.5.0をインストール。バージョンは適宜変えること。

$ mkdir ~/src
$ cd ~/src
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.rpm
$ sha1sum elasticsearch-5.5.0.rpm
$ sudo rpm --install elasticsearch-5.5.0.rpm

プラグインをインストール

必要に応じてインストールする。今回はスキップ。

AWS上でクラスタを組みたいならcloud-awsを入れる。

JVMの設定を変更

t2.nano想定でメモリ総量の半分である256Mを設定。

$ sudo cp -a /etc/elasticsearch/jvm.options{,org}
$ sudo sed -i -e s/Xms2g/Xms256M/g -e s/Xmx2g/Xmx256M/g /etc/elasticsearch/jvm.options

確認。

$ sudo diff /etc/elasticsearch/jvm.options{,org}
22,23c22,23
< -Xms256M
< -Xmx256M
---
> -Xms2g
> -Xmx2g

Elasticsearchの設定を変更

localhost以外からのアクセスを許可する。

$ sudo bash -c 'echo "network.host: 0.0.0.0" >> /etc/elasticsearch/elasticsearch.yml'
$ sudo diff /etc/elasticsearch/elasticsearch.yml{,.org}
89d88
< network.host: 0.0.0.0

ulimitを変更

上記ネットワーク設定を変えると以下の設定も必要。

$ sudo cp -a /etc/security/limits.conf{,.org}
$ sudo vim /etc/security/limits.conf

確認。

$ diff /etc/security/limits.conf{,.org}
61,63d60
< elasticsearch   soft    nproc           2048
< elasticsearch   hard    nproc           2048
< 

自動起動設定を追加

$ sudo chkconfig --add elasticsearch

起動

$ sudo -i service elasticsearch start

アクセス確認

$ curl localhost:9200
{
  "name" : "xuyWBNK",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "oSCaIbFRRH6Y4T-wXfmwTg",
  "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"
}

Kibanaのインストール

インストール

$ cd ~/src
$ wget https://artifacts.elastic.co/downloads/kibana/kibana-5.5.0-x86_64.rpm
$ sha1sum kibana-5.5.0-x86_64.rpm
$ sudo rpm --install kibana-5.5.0-x86_64.rpm

localhost以外からのアクセスを許可する設定を追加

$ sudo cp -a /etc/kibana/kibana.yml{,.org}
$ sudo vim /etc/kibana/kibana.yml

確認。server.hostにはロードバランサーのDNSやElasic IPと紐付けたパブリックIPを入れる。

$ sudo diff /etc/kibana/kibana.yml{,.org} 
8d7
< server.host: ${EC2インスタンスのIP}

自動起動設定を追加

$ sudo chkconfig --add kibana

起動

sudo -i service kibana start

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
12
Help us understand the problem. What are the problem?