CentOS6環境へ、elasticsearch-1.5.2を導入

シェアする

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/ へアクセスすると、以下のような感じになります