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

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

Solr Cloud 調査編 Ⅰ

Solr Cloudがうまく動作出来てませんが、設定ファイルややってみたことを書いていきます。


ver.4.10.4です。
前回作ろうとしてできなかったレプリカを設定できるようにするため、設定ファイルを修正します。


Solrの設定ファイルは、
solrのホームディレクトリ直下の
solr.xml

中身はこちら

<solr persistent="false">
  <cores adminPath="/admin/cores" host="${host:}" hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
    <core name="core0" instanceDir="core0" />
    <core name="core1" instanceDir="core1" />
  </cores>
</solr>

Solrを起動して、Add Coreした場合、
coreタグのところに追加されていきます。


ちなみにver.5.5.0の場合は、

<solr>

  <solrcloud>

    <str name="host">${host:}</str>
    <int name="hostPort">${jetty.port:8983}</int>
    <str name="hostContext">${hostContext:solr}</str>

    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>

    <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
    <int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:600000}</int>
    <int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:60000}</int>

  </solrcloud>

  <shardHandlerFactory name="shardHandlerFactory"
    class="HttpShardHandlerFactory">
    <int name="socketTimeout">${socketTimeout:600000}</int>
    <int name="connTimeout">${connTimeout:60000}</int>
  </shardHandlerFactory>
</solr>

全然違います。(・へ・)


あと、データ用ディレクトリの
各coreディレクトリ/conf/
の中に
solrconfig.xml
があります。
長いので載せませんが、

dataDirは指定すること

あとはまだよくわかってません。
curlでsolrに対して叩けば、solrconfig.xmlが変更されていくのかなという感じです。
このファイルが重要な気がします・・・。


5.5.0やってみた

coreを作ります
bin/solr create -c test1 -d /opt/solr-5.5.0/server/solr/configsets/basic_configs/conf/

実行結果

Copying configuration to new core instance directory:
/opt/solr-5.5.0/server/solr/test1

Creating new core 'test1' using command:
http://localhost:8983/solr/admin/cores?action=CREATE&name=test1&instanceDir=test1

{
  "responseHeader":{
    "status":0,
    "QTime":2642},
  "core":"test1"}

coreを削除するとき

bin/solr delete -c new_core                                                                                                                                                                    

Deleting core 'new_core' using command:
http://localhost:8983/solr/admin/cores?action=UNLOAD&core=new_core&deleteIndex=true&deleteDataDir=true&deleteInstanceDir=true

{"responseHeader":{
    "status":0,
    "QTime":0}}

d.hatena.ne.jp

bin/solr create -help
とすると、
createにhelpオプションないから、
create_core -help
create_collection -help
にしてねって怒られます。

ブラウザでcoreができたのを確認しました。