1. 程式人生 > >solrcloud叢集部署 四

solrcloud叢集部署 四

七、叢集部署

1、修改tomcat啟動檔案,新增zookeeper的地址資訊

修改:tomcat資料夾下的bin目錄中的catalina.sh檔案,新增以下資訊:

export JAVA_OPTS="-Dsolr.solr.home=/usr/local/myapp/solr-4.10.2/example/solr 
-DzkHost=192.168.206.101:2181,192.168.206.102:2181,192.168.206.103:2181"

-Dsolr.solr.solr.home指定的是Solr索引庫位置

-DzkHost指定的是三個zookeeper的ip和客戶端埠資訊

這樣tomcat啟動後,solr服務就可以到zookeeper中註冊自己的資訊,或者獲取其它節點資訊。

2、克隆安裝好的單機

虛擬機器克隆參考:https://blog.csdn.net/sswqzx/article/details/84582486

3、分別修改zookepper/data/myid

 

分別修改zookepper/data/myid 為2 和3 、然後重啟zkService.sh start 

4、修改Solr配置檔案,配置叢集的中每臺Solr服務的IP和埠

1)進入/usr/local/myapp/solr-4.10.2/example/solr目錄

2)修改solr.xml檔案
<solrcloud>
    <str name="host">192.168.206.101</str>
    <int name="hostPort">8080</int>
    <str name="hostContext">${hostContext:solr}</str>
    <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
  </solrcloud>

說明:

我們訪問一臺Solr服務的地址,一般是這樣的:http://192.168.206.101:8080/solr
而在這裡的幾個引數,分別對應這個地址的一些資訊:
host:就是Solr服務的IP地址,每臺機器配置為自己的IP
hostPort:就是監聽埠,我們是Tomcat服務,因此是8080
hostContext:就是訪問的路徑,這裡預設值是solr,我們不用改

5、將Solr配置檔案上傳到Zookeeper中,由Zookeeper統一管理

sh /usr/local/myapp/solr-4.10.2/example/scripts/cloud-scripts/zkcli.sh 
-zkhost 192.168.206.101:2181,192.168.206.102:2181,192.168.206.103:2181 
-cmd upconfig -confdir /usr/local/myapp/solr-4.10.2/example/solr/collection1/conf/ -confname solrconf

檢視是否上傳成功:#zkCli.sh  啟動zookeeper客戶端

#ls   /configs/solrconf

說明:

/usr/local/myapp/solr-4.10.2/example/scripts/cloud-scripts/zkcli.sh	
:Solr提供的訪問Zookeeper的指令碼檔案
-zkhost 192.168.206.101:2181,192.168.206.102:2181,192.168.206.103:2181:	
指定Zookeeper的地址資訊
-cmd upconfig: 指定操作的命令。這裡是上傳配置
-confdir /usr/local/myapp/solr-4.10.2/example/solr/collection1/conf/ 
:指定要上傳的配置檔案目錄,我們上傳Solr的樣例中的配置
-confname solrconf :指定註冊到Zookeeper中後配置檔案目錄名稱

6、啟動SolrCloud

啟動每一臺伺服器中的Solr服務(其實就是啟動Tomcat)、訪問SolrCloud,檢視雲的狀態

http://192.168.206.103:8080/solr/

 

點選Tree節點。查詢詳細資訊

 

 

7、down掉一臺伺服器、只關tomcat #sh  shutdown.sh 、網頁檢視

網頁執行命令

http://192.168.206.101:8080/solr/admin/collections?action=CREATE&name=myCollection1&numShards=2&replicationFactor=2&maxShardsPerNode=8&property.schema=schema.xml&property.config=solrconfig.xml
 

再開啟tomcat

八、管理介面檢視和操作SolrCloud

1、建立core命令:

http://192.168.206.101:8080/solr/admin/collections?action=CREATE&name=myCollection2&numShards=2&replicationFactor=2&maxShardsPerNode=8&property.schema=schema.xml&property.config=solrconfig.xml

引數說明:

name:指明collection名稱

numShards:指明分片數

replicationFactor:指明副本數

maxShardsPerNode: 每個節點最大分片數(預設為1)

property.schema:指定使用的schema.xml,這個檔案必須在zookeeper上。

property.config:指定使用的solrconfig.xml,這個檔案必須在zookeeper上。
2、刪除Collection命令;

http://192.168.206.101:8080/solr/admin/collections?action=DELETE&name=collection1

3、查詢所有的Collection

http://192.168.206.101:8080/solr/admin/collections?action=LIST

4、顯示叢集的狀態

http://192.168.206.101:8080/solr/admin/collections?action=CLUSTERSTATUS

5、分裂shard

http://192.168.206.101:8080/solr/admin/collections?action=SPLITSHARD&collection=myCollection2&shard=shard2

6、刪除shard

http://192.168.206.101:8080/solr/admin/collections?action=DELETESHARD&collection=myCollection2&shard=shard2

注:

	啟動solrCloud需要先啟動solrCloud依賴的所有zookeeper伺服器,再啟動每臺solr伺服器。
如果伺服器跟伺服器之間無法通訊,檢視每臺伺服器的/etc/hosts 裡面是否配置了其他伺服器的IP地址和hostname

 

 

九、使用SolrJ訪問SolrCloud

增刪改查。。。