Elasticsearch: CentOS 6.6に環境構築

Elasticsearch検証環境を構築した際のメモ

Oracle VM VirtualBox 4.3.20 に CentOS 6.6 32bit をインストールした後に行った作業をメモ的に記録します。
CentOS 6.6 ではminimalインストールがデフォルトのようで、Elasticsearchとは直接関係ない作業も記述しています。

1. ネットワーク有効化
 ONBOOTフラグをyesに変更してネットワークアダプタを再起動。

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT=yes

[root@localhost ~]# service network restart

2. まず最初にアップデート

[root@localhost ~]# yum update

3. Javaのインストール
 OpenJDK 1.8をyumで入れる場合。

[root@localhost ~]# yum install java-1.8.0-openjdk-devel

4. Elasticsearchのインストール

[root@localhost ~]# vi /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-1.4]
name=Elasticsearch repository for 1.4.x packages
baseurl=http://packages.elasticsearch.org/elasticsearch/1.4/centos
gpgcheck=1
gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
enabled=1

[root@localhost ~]# yum install elasticsearch

5. Elasticsearchの起動確認

[root@localhost ~]# service elasticsearch start

 ※ここで、

OpenJDK Server VM warning: You have loaded library /usr/share/elasticsearch/lib/sigar/libsigar-x86-linux.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.

 と表示されるが、その対策はこの後で。
 Elasticsearchが起動していることを確認。

[root@localhost ~]# curl -X GET http://localhost:9200/
{
  "status" : 200,
  "name" : "Elizabeth Twoyoungmen",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "1.4.2",
    "build_hash" : "927caff6f05403e936c20bf4529f144f0c89fd8c",
    "build_timestamp" : "2014-12-16T14:11:12Z",
    "build_snapshot" : false,
    "lucene_version" : "4.10.2"
  },
  "tagline" : "You Know, for Search"
}

6. warningの修正
 execstackコマンドのインストール。

[root@localhost ~]# yum install prelink

 libsigar-x86-linux.soのスタック実行可能フラグの変更。

[root@localhost ~]# execstack -c /usr/share/elasticsearch/lib/sigar/libsigar-x86-linux.so

 Elasticsearch再起動してwarningが表示されないことを確認。

[root@localhost ~]# service elasticsearch restart

 ついでに、ElasticsearchがOS起動時に自動起動するよう設定。

[root@localhost ~]# chkconfig elasticsearch on

7. Kuromojiプラグインのインストール

[root@localhost ~]# /usr/share/elasticsearch/bin/plugin --install elasticsearch/elasticsearch-analysis-kuromoji/2.4.1

 KuromojiをインストールしたらElasticsearchを再起動。

[root@localhost ~]# service elasticsearch restart

Kuromojiに日本語テキストを入力・表示するために、GUIと日本語の環境を導入します。

8. X Window Systemのインストール

[root@localhost ~]# yum groupinstall "X Window System" "Desktop" "Desktop Platform" "General Purpose Desktop"

9. 日本語入力環境のインストール

[root@localhost ~]# yum groupinstall "Japanese Support"

10. GUI作業用ユーザの作成

[root@localhost ~]# useradd workuser
[root@localhost ~]# passwd workuser
[root@localhost ~]# visudo
ファイルの末尾に以下を追加
workuser ALL=(ALL) ALL

11. X Window Systemの起動
 GUI作業用ユーザでログインし直して、

[workuser@localhost ~]$ startx

 X Window Systemが起動したら、[System]メニューの[Preferences]->[Input Method]の設定を行い、X Window Systemを再起動した後にKuromojiの動作確認をします。
 私はこちらの記事を参考にさせて頂きました。

 yumを使うとインストールそのものは非常に簡単なElasticsearchですが、CentOS 6.6 を使った場合の、6. のexecstackコマンドがインストールされていない際の導入方法や、8. のX Window Systemのgroupinstall引数を調べたりが、地味に時間が掛かり、私が参考にしたサイトとも引数が若干違ったりしますので、このページの情報が有益であることを期待します。