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命令:
引數說明:
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
6、刪除shard
注:
啟動solrCloud需要先啟動solrCloud依賴的所有zookeeper伺服器,再啟動每臺solr伺服器。
如果伺服器跟伺服器之間無法通訊,檢視每臺伺服器的/etc/hosts 裡面是否配置了其他伺服器的IP地址和hostname
九、使用SolrJ訪問SolrCloud
增刪改查。。。