cloudera search1.0.0環境搭建(1):搭建solrcloud

本文基於Cloudera Manager5.0.0,全部服務基於CDH5.0.0 parcel安裝。java

CM 安裝solr是很是方便的,在集羣上添加服務就好了,solrcloud須要zookeeper集羣的支持,因此添加solr服務以前,先添加zookeeper服務。在此不贅述。ide

本文從添加好solr服務以後開始提及,我有4個主機,因此添加solr服務的時候我添加了4個solr server,每臺主機一個,在選擇相應的zookeeper服務啓動solr服務以後,這四個節點就在同一個solrcloud集羣裏面了。工具

cm裝好的solr服務默認是沒有collection的。咱們能夠利用cloudera提供的一個腳本工具來管理solrcloud,該工具爲:solrctlpost

$ solrctl --help

usage: /usr/bin/solrctl [options] command [command-arg] [command [command-arg]] ...

Options:
    --solr solr_uri
    --zk   zk_ensemble
    --help
    --quiet

Commands:
    init        [--force]

    instancedir  [--generate path]
                [--create name path]
                [--update name path]
                [--get name path]
                [--delete name]
                [--list]

    collection  [--create name -s <numShards>
                              [-c <collection.configName>]
                              [-r <replicationFactor>]
                              [-m <maxShardsPerNode>]
                              [-n <createNodeSet>]]
                [--delete name]
                [--reload name]
                [--stat name]
                [--deletedocs name]
                [--list]

    core        [--create name [-p name=value]...]
                [--reload name]
                [--unload name]
                [--status name]


solr服務首次啓動的時候,會在hdfs上建立/solr目錄,還會在zookeeper上建立/solr節點,zookeeper上的/solr節點下面用來保存了solrcloud的相關配置信息。ui

因爲如今solrcloud上是沒有collection的,咱們先建立一個collection,命名爲collection1,在建立 collection1以前,首先要將配置信息上傳到zookeeper上,咱們這裏就將solr自帶的examples裏面的那個solr目錄下面的 collection1的配置上傳,對應cm安裝的集羣,這個目錄在/opt/cloudera/parcels/CDH/share/doc /solr-doc-4.4.0+cdh5.0.0+178/example/solr目錄下面,咱們用:url

sudo -u solr solrctl instancedir --create collection1 /opt/cloudera/parcels/CDH/share/doc/solr-doc-4.4.0+cdh5.0.0+178/example/solr/collection1code

執行該命令後,會將/opt/cloudera/parcels/CDH/share/doc/solr-doc- 4.4.0+cdh5.0.0+178/example/solr/collection1下的conf目錄下面的全部文件上傳到zookeeper的 /solr/configs下面的collection1目錄下面.server

OK,配置文件上傳了,下一步是建立collection,運行以下命令:xml

sudo -u solr solrctl collection --create collection1 -s 2索引

建立一個名叫collection1的collection,有2個shard,咱們沒寫-c參數,就會使用默認與collection name相同的配置文件目錄做爲-c的默認配置,也即會使用默認的上一步上傳到zookeeper的collection1目錄做爲默認配置目錄.

OK,咱們能夠檢測一下collection是否建立成功,運行:solrctl collection --list,看看有沒有collection1

在solr控制檯管理頁面上的cloud下面能夠砍到圖形化描述的collection1的拓撲結構,這裏兩個shard具體分配到哪兩個server是由solrcloud本身管理的,咱們無需關心。

咱們試着給這個collection添加一個document:

cd /opt/cloudera/parcels/CDH/share/doc/solr-doc-4.4.0+cdh5.0.0+178/example/exampledocs

java -Durl=http://master68:8983/solr/collection1/update -jar post.jar ipod_video.xml

而後執行一下查詢語句:http://master68:8983/solr/collection1/select?q=*:*

能夠查詢到剛纔咱們添加的索引文件,至此,一個簡單的solrcloud搭建好了。

相關文章
相關標籤/搜索