概要
メジャーバージョンアップでちょこちょこ変更点があるのでその対応を含めたインストール方法です。
環境
Java8のインストール
$ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install oracle-java8-installer
環境変数とかの設定をしてくれてJava8をデフォルトに設定する為に以下のパッケージを入れます。
$ sudo apt-get install oracle-java8-set-default
確認します。
$ java -version java version "1.8.0_66" Java(TM) SE Runtime Environment (build 1.8.0_66-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode) $ javac -version javac 1.8.0_66
ElasticSearchのインストール
ElasticSearchのリポジトリを追加します。
$ wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - $ echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list
パッケージリストを更新してインストールします。
$ sudo apt-get update && sudo apt-get install elasticsearch
自動起動設定をしてサービスを起動すれば完了です。
$ sudo update-rc.d elasticsearch defaults 95 10 $ sudo service elasticsearch start
curlで動作確認します。
$ curl localhost:9200 { "name" : "Rahne Sinclair", "cluster_name" : "elasticsearch", "version" : { "number" : "2.1.0", "build_hash" : "72cd1f1a3eee09505e036106146dc1949dc5dc87", "build_timestamp" : "2015-11-18T22:40:03Z", "build_snapshot" : false, "lucene_version" : "5.3.1" }, "tagline" : "You Know, for Search" }
設定の編集
/etc/default/elasticsearch
ヒープサイズを変更します。搭載メモリの半分が推奨値です。今回VMが1Gのメモリを搭載しているとします。
ES_HEAP_SIZE=512m
またスワップを禁止するため以下の設定をしておきます。
MAX_LOCKED_MEMORY=unlimited
ファイルディスクリプタを変更します。ElasticSearchが開けるファイルの数は、32kまたは64kを公式では推奨してます。
MAX_OPEN_FILES=65535
/etc/elasticsearch/elasticsearch.yml
シャードとレプリカ数を指定します。
今回はVM1台なのでシャードは1、レプリカは0です。
ちなみにデフォルトはシャード5、レプリカ1です。
index.number_of_shards: 1 index.number_of_replicas: 0
スワップを禁止するので以下の設定を追加。
bootstrap.mlockall: true
2.0からbind_address
がlocalhost
のみになったので外部アクセスも許可しておきます。
network.host: 0.0.0.0
設定の確認
pidを調べて
# ps aux | grep elastic elastic+ 1091 6.7 67.2 2538032 684736 ? SLl 08:17 0:05 /usr/bin/java -Xms512m -Xmx512m -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Djna.nosys=true -Des.path.home=/usr/share/elasticsearch -cp /usr/share/elasticsearch/lib/elasticsearch-2.1.0.jar:/usr/share/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch start -d -p /var/run/elasticsearch/elasticsearch.pid --default.path.home=/usr/share/elasticsearch --default.path.logs=/var/log/elasticsearch --default.path.data=/var/lib/elasticsearch --default.path.conf=/etc/elasticsearch
環境変数チェック
# strings /proc/1091/environ UPSTART_INSTANCE= HOSTNAME=vagrant-ubuntu-trusty-64 runlevel=2 UPSTART_JOB=rc TERM=linux ES_HEAP_SIZE=512m PATH=/bin:/usr/bin:/sbin:/usr/sbin RUNLEVEL=2 PREVLEVEL=N UPSTART_EVENTS=runlevel PWD=/usr/share/elasticsearch previous=N
HEAPが設定されてます。
ファイルディスクリプタをチェック
# cat /proc/1091/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 7874 7874 processes Max open files 65535 65535 files Max locked memory unlimited unlimited bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 7874 7874 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us
65535
になってます。
最後にスワップが禁止になってるかチェック
# curl http://localhost:9200/_nodes/process?pretty { "cluster_name" : "elasticsearch", "nodes" : { "YcxJI41yRMK5cQWAlCj5Lg" : { "name" : "Bible John", "transport_address" : "10.0.2.15:9300", "host" : "10.0.2.15", "ip" : "10.0.2.15", "version" : "2.1.0", "build" : "72cd1f1", "http_address" : "10.0.2.15:9200", "process" : { "refresh_interval_in_millis" : 1000, "id" : 1091, "mlockall" : true } } } }
"mlockall" : true
になっていればOKです。
プラグインのインストール
KuromojiとICU Analysisが公式プラグインになりました。
よく使う head, kuromoji, icu をインストールします。
$ cd /usr/share/elasticsearch/ $ sudo bin/plugin install mobz/elasticsearch-head $ sudo bin/plugin install analysis-kuromoji $ sudo bin/plugin install analysis-icu
再起動しておきます。
$ sudo service elasticsearch restart
以上です。お疲れ様でした。