akishin999の日記

調べた事などを書いて行きます。

CentOS に elasticsearch を入れてみた

elasticsearchApache Solr と同じく Apache Lucene を使用した全文検索エンジンです。
REST ベースの API を備え、curl コマンドだけで操作できるなどの使いやすさが特徴とのことです。
詳しくは こちらこちら の資料を読んでみてください。

今回は CentOS 6.3 にインストールしてみました。
事前に Java をインストールしてあるところから開始しています。

まずはユーザを作成。

# useradd -c 'elasticsearch' -d /var/empty/elasticsearch -s /sbin/nologin elasticsearch

ダウンロードして /usr/local 以下に配置します。

# cd /usr/local/src/
# wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.20.5.tar.gz
# tar xzf elasticsearch-0.20.5.tar.gz
# mv elasticsearch-0.20.5 /usr/local/
# ln -s /usr/local/elasticsearch-0.20.5/ /usr/local/elasticsearch

このまま直接起動してもいいんですが、出来ればサービスとして管理したいところ。

tavisto/elasticsearch-rpms GitHub
https://github.com/tavisto/elasticsearch-rpms

上記プロジェクト内に RHELディストリビューション用の起動スクリプトがあったので利用させてもらいました。

# wget -O /etc/init.d/elasticsearch https://raw.github.com/tavisto/elasticsearch-rpms/master/SOURCES/init.d-elasticsearch

スクリプトを編集します。

# vi /etc/init.d/elasticsearch

ES_HOME の値をインストールした /usr/local/elasticsearch に変更。

ES_HOME=/usr/local/elasticsearch

ES_PATH_CONF の値も ${ES_HOME}/config に変更します。

ES_PATH_CONF=${ES_HOME}/config

pid 用ディレクトリ、ログ用ディレクトリ、データ用ディレクトリを作成し所有者を変更。

# mkdir /var/run/elasticsearch
# mkdir /var/log/elasticsearch
# mkdir /var/lib/elasticsearch
# chown elasticsearch:elasticsearch /var/run/elasticsearch
# chown elasticsearch:elasticsearch /var/log/elasticsearch
# chown elasticsearch:elasticsearch /var/lib/elasticsearch

サービスとして登録し、起動してみます。

# chmod +x /etc/init.d/elasticsearch
# chkconfig --add /etc/init.d/elasticsearch
# service elasticsearch start

サーバが起動したら、動作確認として以下を実行してみます。

# curl -X GET http://localhost:9200/
{
  "ok" : true,
  "status" : 200,
  "name" : "Bloodscream",
  "version" : {
    "number" : "0.20.5",
    "snapshot_build" : false
  },
  "tagline" : "You Know, for Search"
}

上のように「"ok" : true」といった結果が返ってくれば OK です。

取りあえずこれで動くようになったので、少しずつ触って行きたいと思います。


ElasticSearch Server
ElasticSearch Server
posted with amazlet at 13.06.05
Packt Publishing (2013-02-21)