solrcloud搭建

關於solr-cloud的搭建

原創文章,轉載請註明

1.首先下載solr最新版

首先在官網下載最新的solrcloud,我這時下載的最新版本是solr5.2.1(其實從solr4開始就已經是solrcloud了,之前都是solr,依賴於master-slave模式)

2.創建第一個索引庫

按照wiki的指示,創建一個單獨的solr實例,地址爲:https://cwiki.apache.org/confluence/display/solr/Getting+Started+with+SolrCloud

值得一提的是,這裏的solr不需要單獨的部署tomcat或者zookeeper,新版的solrcloud已經自帶jetty和solr-zookeeper,我們依照wiki首先創建一個即可。

全部按照默認走,這時,我們應該有了一個兩個shard,每個shard同時有兩個core的一個collection

3.接下來,我們嘗試自己增加一個collection

這個是一些solr的api,我們可以進行利用這些api:
https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api1

這時,我們按照第一個方法,創建collection:

curl ‘http://localhost:8983/solr/admin/collections?action=CREATE&name= mycore&numShards=1&replicationFactor=1’

這時,我們構建了一個只有一個shard,一個node的collection,但是這個可能不是我們的需求,我們需要給一個shard增加node或者給這個collection增加shard

4.給一個collection增加shard

http://localhost:8983/solr/admin/collections?action=CREATESHARD&collection=mycore&shard=shard1

我們執行上述這個請求,就會發現給一個collection創建了一個shard。

5.接着給一個shard增加node(專業名詞叫增加replica)

http://localhost:8983/solr/admin/collections?action=ADDREPLICA&collection=mycore&shard=shard2&node=localhost:8983_solr

現在我們發現mycore已經有了兩個shard,shard1有1一個replica,shard2有兩個replica

6.創建自己的配置文件

之前我們構建的集合其實基本上都是按照默認的配置文件,在solrcloud初始的時候已經註冊了三種配置文件的集合,在

/solr-5.2.1/server/solr/configsets
下,分別是basic_configs,data_driven_schema_configs,sample_techproducts_configs
如果我們需要建立自己的配置文件,我們在這個集合下新建一個文件夾,叫skyrunner_configs,然後隨便先copy一個文件夾裏的如basic_configs下的文件進去,然後我們要做的是,把這個文件配置傳給zookeeper,讓它幫我們維護。
我們需要依靠https://cwiki.apache.org/confluence/display/solr/Using+ZooKeeper+to+Manage+Configuration+Files
我們按照裏面的說明,還有https://cwiki.apache.org/confluence/display/solr/Command+Line+Utilities裏面的說明,增加一個配置
./server/scripts/cloud-scripts/zkcli.sh -zkhost localhost:9983 -cmd upconfig -confname skyrunnercon1 -confdir ../server/solr/configsets/skyrunner_configs/conf

這時,我們已經上傳了我們的配置文件到zookeeper,我們再使用:

http://localhost:8983/solr/admin/collections?action=CREATE&name=skyrunnercol1&numShards=2&replicationFactor=2&maxShardsPerNode=2&collection.configName=skyrunnercon1
來構建我們定義好的,兩個shard,每個shard兩個repilica的應用

7.增加一個node,即增加一個jetty服務

但是我們這時候發現每個shard裏面的repilica不夠用,原來只有兩個應用,即兩個jetty服務在跑,我們需要增加一個jetty服務。

我們依據https://cwiki.apache.org/confluence/display/solr/Getting+Started+with+SolrCloud在後面的辦法,先在solr-5.2.1/example/cloud下新建一個目錄,如node3,然後建立solr子文件夾,然後將我們的solr.xml copy進去,solr.xml本身在solr-5.2.1/server/solr下也有,從我們的某一個應用copy也可以。

我們利用啓動腳本進行啓動,./solr start -cloud -s example/cloud/node3/solr -p 8987 -z localhost:9983 ,要注意的是

啓動之後我們會發現裏面沒有core,我們需要依次添加進去

8.日誌查看

日誌一般在

solr-5.2.1/server/logs
下面,一般我們啓動幾個jetty服務,它就會默認出現幾個日誌,如solr-8983-console.log,這就是8983端口對應的日誌,還有solr.log,一般就是啓動日誌或者多個節點之間的備份日誌,默認還有gc日誌等,我們都可以自己設置了。

一般在每個node下也會有一些solr日誌,那些日誌也都可以自己配置。

然後我們就可以正常使用solr了,但是一般可能我們用的zookeeper是我們自己搭的zookeeper節點。

之後在說怎麼具體的配置solrconfig.xml和schema.xml,還有一些字典的配置,包括怎麼使用開源分詞。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章