新米インフラエンジニアの研修日記

とある会社で研修させて頂いたことを書いてます。

Solr (1台 ver.)

Solrとは


Solr
周りの人は「ソラー」って読んでます。

正式には、Apache Solr

Apacheが作ってるオープンソース全文検索ソフトウェアです。
検索エンジンのライブラリとして、Apache Luceneと呼ばれるものが使われています。

検索エンジンのことやSolrのことを解説されているスライドです。

www.slideshare.net

Solrでできることやできないことが詳しく書いてます。

www.tree-tips.com

構築環境


今回は1台での構成です。

サーバ:1台
OS:CentOS6.7

1台で複数のSolrを動かします。

f:id:the-casket-of-star:20160419081359p:plain

インストール


Zookeeperをインストール・設定できてない場合は、下記のZookeeperのインストールと設定を行います。
但し、単体のSolrなので、zookeeperの設定の
zoo.cfgで
zoo1,zoo2,zoo3はすべて127.0.0.1
portは1つずつずらした数字に設定する必要があります。
clientPort=
1つ目:2183
2つ目:2184
3つ目:2185

server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

the-casket-of-star.hatenablog.com


下記からバージョンを選択し、リンクのアドレスをコピーして、wgetします。
Index of /infosystems/apache/lucene/solr

今回は4.10.4を選択しております。

cd /tmp
wget http://ftp.kddilabs.jp/infosystems/apache/lucene/solr/4.10.4/solr-4.10.4-src.tgz
tar -zxvf solr-4.10.4.tgz
mv /tmp/solr-4.10.4 /opt/
ln -s /opt/solr-4.10.4 /opt/solr
cd /opt/solr

設定・起動


不要なファイル削除

rm -r example/solr/collection1/data/*

ノードをコピー

cp -r example example2

フロントで起動

./bin/solr -f

下記のエラーが出た場合

Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: centos-512mb-sgp1-01: centos-512mb-sgp1-01: unknown error

/etc/hostnameに自分のホスト名を書きます

/etc/sysconfig/network
http://mountainbigroad.jp/linux/host_mod.html

Webブラウザで、 " http:// IPアドレス:8983/solr " を開くと
以下の様な画面になります。
f:id:the-casket-of-star:20160417183452p:plain


左側のメニューの
Core Admin。
f:id:the-casket-of-star:20160417185135p:plain

Add Coreをクリックし、表示されたウィンドウに入力し、Add Coreします。
f:id:the-casket-of-star:20160417185216p:plain

name: <node1の名前>
instanceDIR:<collectionフォルダの絶対パス>
dateDir: <collectionフォルダの中のdataフォルダの絶対パス>
collection: <collectionフォルダ名>
config: <そのまま>
schema: <そのまま>
collection: <collection名>
shard:

f:id:the-casket-of-star:20160419091248p:plain


こんな感じのができます。

以上を3つ分作ります。

今のところは、ここまでしかわかってないので、続きはまた次回。