CentOS に elasticsearch を入れてみた
elasticsearch は Apache 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 です。
取りあえずこれで動くようになったので、少しずつ触って行きたいと思います。