こんにちは、インフラ担当のmatsBです。
社内では笑顔を担当しています。
今回は、以前hamanokamiがElasticsearch
Elasticsearch運用で気をつけていること ~インデックス再構築編~ - 株式会社クイックのWebサービス開発blog
について書いていたので、Elasticsearchのインストールについて書きたいと思います。
Elasticsearchのバージョンが1.3.4と古いのですが、、、ご容赦ください。
バージョン上げてリプレースしたら、また書きますので。
インストール自体は意外と簡単で、実はJAVAのバージョンとElasticsearchのバージョンと形態素解析する場合はtokenizerにさえ気にしてれば問題は少なかったです。
OS環境:CentOS 6.6(2.6.32-504.1.3.el6.x86_64)
Elasticsearch:1.3.4
まずはJAVAのインストール
[root@localhost ~]# wget http://javadl.sun.com/webapps/download/AutoDL?BundleId=95116 [root@localhost ~]# mv AutoDL\?BundleId\=95116 jre-7u67-linux-x64.tar.gz [root@localhost ~]# tar zxvf jre-7u67-linux-x64.tar.gz -C /usr/java/
次にElasticsearch本体のインストール
[root@localhost ~]# wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.3.4.noarch.rpm [root@localhost ~]# yum localinstall elasticsearch-1.3.4.noarch.rpm [root@localhost ~]# echo "export JAVA_HOME=/usr/java/jre1.7.0_67" | tee -a /etc/sysconfig/elasticsearch
ってまぁインストール自体はこれで終わりなんですが、日本語の全文検索でtokenizerをkuromojiにして使いたかったのでkuromojiを入れました。
kuromojiをインストール
[root@localhost ~]# JAVA_HOME=/usr/java/jre1.7.0_67 /usr/share/elasticsearch/bin/plugin -install elasticsearch/elasticsearch-analysis-kuromoji/2.3.0 [root@localhost ~]# echo "index.analysis.analyzer.default.type: custom" | tee -a /etc/elasticsearch/elasticsearch.yml [root@localhost ~]# echo "index.analysis.analyzer.default.tokenizer: kuromoji_tokenizer" | tee -a /etc/elasticsearch/elasticsearch.yml
そして各種プラグインを突っ込みました。
追加プラグインは下記の4つです。
・elasticsearch-HQ
・marvel/latest
・elasticsearch-inquisitor
・elasticsearch-head
■追加プラグイン:elasticsearch-HQ
[root@localhost ~]# JAVA_HOME=/usr/java/jre1.7.0_67 /usr/share/elasticsearch/bin/plugin -install royrusso/elasticsearch-HQ
アクセス先:http://localhost:9200/_plugin/HQ/#cluster
導入理由:モニタリング用
■追加プラグイン:marvel/latest
[root@localhost ~]# JAVA_HOME=/usr/java/jre1.7.0_67 /usr/share/elasticsearch/bin/plugin -install elasticsearch/marvel/latest
アクセス先:http://localhost:9200/_plugin/marvel/kibana/index.html#/dashboard/file/marvel.overview.json
導入理由:なんか見た目が格好いいから
アクセス先:http://localhost:9200/_plugin/marvel/sense/index.html
導入理由:文字解析が分かりやすいから
■追加プラグイン:elasticsearch-inquisitor
[root@localhost ~]# JAVA_HOME=/usr/java/jre1.7.0_67 /usr/share/elasticsearch/bin/plugin -install polyfractal/elasticsearch-inquisitor
アクセス先:http://localhost:9200/_plugin/inquisitor/#/queries
導入理由:クエリの確認ができるから
■追加プラグイン:elasticsearch-head
[root@localhost ~]# JAVA_HOME=/usr/java/jre1.7.0_67 /usr/share/elasticsearch/bin/plugin -install mobz/elasticsearch-head
アクセス先:http://localhost:9200/_plugin/head/
導入理由:GUIで動かせるっぽいから
結構こんな感じでインストールは完了です。
最後に、一番気をつけなくてはいけない、、、と言うより知らないでやると悲惨な目にあう箇所を紹介します。
それは/etc/elasticsearch/elasticsearch.yml の中の"cluster.name"です。
Elasticsearchはとても気をきかせてくれるので、同じネットワーク上で同じcluster.nameを持っていると勝手にクラスタ構成になってくれるからです。
今回はXenServer上で作ったので、イメージを取得して同じイメージを検証用とかに展開させたりしてました。
するとcluster.nameが一緒なので勝手にクラスタ構成を組んで、意図せず片方のINDEXを削除すると構成が崩れたりして。
高機能すぎて震えて泣きました。
いっしょに泣いてくれる
戦士(なかま)
を
大募集
しています!