elasticserch開発環境を、CentOS6の上に整えたときのメモ。(2015年6月3日) (今回はkibanaはなし。既存elasticsearchとクラスターを組ませる目的で、ESのみ追加しました)
JRE導入
(1)Java SE Runtime Environment 8 の 最新RPMパッケージをダウンロードして、インストール https://java.com/ja/download/manual.jsp
※今回は、jre-8u45-linux-x64.rpm をインストール
(2)結果確認
java -version
ファイアウォール設定
(1)iptablesが動作しているか確認します
service iptables status
※動作していない場合は、起動しておきます
service iptables start
(2)elasticsearchサービスを追加します
vi /etc/sysconfig/iptables で、以下追加します
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9200 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 9300 -j ACCEPT -A INPUT -p udp --dport 54328 -j ACCEPT
こんな感じになります
Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 9200 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 9300 -j ACCEPT -A INPUT -p udp --dport 54328 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
(3)設定を反映させ、確認します
service iptables restart service iptables status
elasticsearch 本体の導入
(1)リポジトリーのPGP鍵導入
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
(2)yumリポジトリー登録 以下内容で /etc/yum.repos.d/elasticsearch.repo を作成
[elasticsearch-1.5] name=Elasticsearch repository for 1.5.x packages baseurl=http://packages.elastic.co/elasticsearch/1.5/centos gpgcheck=1 gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch enabled=1
(3)yumにて、elasticsearchをインストール
yum install elasticsearch
初期設定
(1)自動起動設定
chkconfig --add elasticsearch chkconfig elasticsearch on
結果確認
chkconfig --list elasticsearch
(2)elasticsearch設定
vi /etc/elasticsearch/elasticsearch.yml
index.number_of_shards: 1 bootstrap.mlockall: true
※開発環境なので、index当たりのshard分割数を1に変更(デフォルト値は5)
※クラスター環境にするために、以下追加します
cluster.name: ukiusagi.elasticsearch node.name: serverXX
(ノードを判別しやすくするため、ノード名を静的に定義)
(3)初回なので手動起動
service elasticsearch start
(4)他のelasticserch serverにもクラスター設定を入れます
vi /etc/elasticsearch/elasticsearch.yml
cluster.name: ukiusagi.elasticsearch
※ちなみに、クラスター名を変更すると、今までのindexが見えなくなります。(新しいクラスターになるため)
プラグイン導入
(1)導入
cd /usr/share/elasticsearch/bin ./plugin -install elasticsearch/elasticsearch-analysis-kuromoji/2.5.0 (日本語形態素分析エンジン) ./plugin -install polyfractal/elasticsearch-inquisitor (クエリーや形態素分解について確認) ./plugin -install mobz/elasticsearch-head (ES概要確認用 indexやノード状態等)
(2)導入結果確認
./plugin -l
うまくインストールできていたら、以下の感じになります
Installed plugins: - analysis-kuromoji - head - inquisitor
(3)動作確認
">
http://localhost:9200/_plugin/inquisitor/
クラスター構成の確認
正常にクラスターが構成できたかElasticsearch-Headで確認します
http://localhost:9200/_plugin/head/ へアクセスすると、以下のような感じになります