1、SolrCloud 與 MultiCore 的本質區別 *SolrCloud 用多臺機搭建一個SolrCore(即整個系統只有一套schema,solrconfig) *MultiCore 是多個獨立的服務,不一樣的core能夠用幾套schema,solrconfig。html
2、下面開始安裝 SolrCloud (SolrCloud 是一個集羣,真實環境下是須要多臺機配合工做的,下面我以兩臺機子爲例,一步一步來安裝 SolrCloud) 如今我有兩臺機(沒有配置 host,只能直接使用 IP地址):java
<!-- lang: java --> ip1:202.38.221.64 ip2:202.38.221.50
SolrCloud 服務器是利用 zookeeper 服務器來實現分佈式工做的,因此先要安裝 zookeeper 下面查看 zookeeper 的官方文檔,來介紹如何安裝 zookeeperlinux
2.1 安裝 zookeeperweb
<!-- lang: java --> 下面分 local 模式和 集羣模式 下面根據官方文檔(http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html#sc_RunningReplicatedZooKeeper) Getting Started 來部署 zookeeper,官方文檔說,這裏的目標主要是針對開發者 但願去嘗試一下而寫的,只介紹了單 Zookeeper 服務和一些簡單的命令去確認它是否正常工做,最後爲了方便開發者,還附帶幾部分複雜配置的內容用來講明集羣複製部署,若是想要商業應用還須要看 ZooKeeper Administrator's Guide. 第一步:下載 Zookeeper (http://zookeeper.apache.org/releases.html) 我選擇的是 3.3.5 版本 第二步: 一、若是是單機模式,很是簡單,將下載好的文件解壓,而後將主目錄下面的 conf 目錄下自帶的 zoo_sample.cfg 更名爲 zoo.cfg 而後點開將裏面的 dataDir 設置成你想要的路徑,注意在 linux 下可使用絕對路徑,可是在 windows 下最好使用相對路徑,相對於 zoo.cfg文件,我沒有使用相對路徑報錯了,說找不到 data 目錄下的 myid 文件,也有可能windows 下面路徑分隔符應該用/分割 二、若是是集羣模式也很簡單,只要在zoo.cfg 加上以下配置信息:(記住有幾臺機就要加幾行,單機模擬多臺機要注意端口號和後面的選舉端口號要區別開) server.X=IP:2888:3888 而後把 X 加到dataDir目錄下面的 myid 文件中,沒有自行建立 記住那個ip,那個端口就對應那個X 這樣把天天機子的服務打開 就完事了 還有如下命令,和操做文件目錄差很少,能夠覺得 zookeeper 自己維護了一個文件系統,因此沒難度,之後再研究怎麼用 java 去操做它
下面重點研究怎麼安裝 solrcloud 服務apache
Solr及Tomcat安裝配置windows
<!-- lang: java --> (1)下載solr4.2,把solr-4.2.1\example\solr\collection1\conf 目錄下的配置文件上傳的 zookeeper (2)上傳solr配置文件到zookeeper [plain] view plaincopy java -classpath .:/home/weibo/tomcat_solr_qq/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost 127.0.0.1:2181,127.0.0.1:2281,127.0.0.1:2381 -confdir /home/weibo/solr-config -confname weiboconfig (3)把配置文件和目標collection聯繫起來 [plain] view plaincopy java -classpath .:/home/weibo/tomcat_solr_qq/webapps/solr/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd linkconfig -collection weibocollection -confname weiboconfig -zkhost 127.0.0.1:2181,127.0.0.1:2281,127.0.0.1:2381 (4)複製3個tomcat,在conf/Catalina/localhost建立solr.xml(若是目錄不存在,請自行建立),內容以下 [plain] view plaincopy <?xml version="1.0" encoding="utf-8"?> <Context docBase="/home/weibo/solr-qq/solr.war" debug="0" corssContext="false" > <Environment name="solr/home" type="java.lang.String" value="/home/weibo/solr-qq/" override="true"/> </Context> crossContext不能設置爲true,這裏注意 (5)在你的solr home目錄建立solr.xml [plain] view plaincopy <?xml version="1.0" encoding="UTF-8" ?> <solr persistent="true"> <cores adminPath="/admin/cores" zkClientTimeout="20000" hostPort="8080"> </cores> </solr> 其餘tomcat對應設置對應的端口號 (6)編輯tomcat bin/catalina.sh(windows下catalina.bat),加入 [plain] view plaincopy JAVA_OPTS='-DzkHost=127.0.0.1:2181,127.0.0.1:2281,127.0.0.1:2381' 這裏就是solr和zookeeper交互的地方了 (7)依次啓動tomcat,建立core及shard,訪問solr