當solr數據量小,併發少的時候,一臺solr服務器足以應付,若是solr數據量比較大,併發多的時候,一臺solr不能應對的時候,是否須要對solr進行集羣。這裏須要先對zookeeper進行集羣,由於zookeeper會做爲solr集羣的配置信息中心。java
zookeeper集羣的時候,也有一個投票機制,不一樣的是,這裏不是投票別的服務器是否已掛,而是投票決定,誰作主服務器,誰作從服務器。因此,在集羣的時候,最好使用奇數臺電腦進行集羣。因爲我沒有多臺電腦,因此,只能在這裏作一個僞集羣了。 vim
一. 解壓拷貝三份同樣的目錄文件服務器
二. 修改每一個文件夾中的配置信息併發
1. 新建data文件夾,並賦idspa
切換到zookeeper1文件夾中,執行新增文件夾命令。code
mkdir data
而後還須要給這個zookeeper賦一個id。blog
執行一下命令:ip
echo 1 >./data/myid
能夠經過class
cat ./data/myid 命令進行驗證集羣
zookeeper2,zookeeper3使用一樣的方式修改,區別在於myid這裏須要賦不一樣值。如:
zookeeper2的myid賦2,zookeeper3的myid賦3。
2. 配置修改
zookeeper1:
1->各自的data文件目錄
2->端口號,zookeeper1能夠不改,zookeeper2,zookeeper3須要修改成2182,2183.
3->集羣中的zookeeper服務器ip。這裏的部分,zookeeper2,zookeeper3只須要拷貝過去就行。
注意到這裏的ip有兩個端口號。
第一個端口號,是zookeeper之間通訊用的。
第二個端口號,是zookeeper投票用的。
三. 啓動
1. 一鍵啓動
在啓動以前,建一個啓動文本,用來避免一個一個手動去啓動。
在solr-cloud目錄下,執行
root@wubi:/usr/java/solr-cloud# vim start-up.sh
而後將如下部分拷貝進去
cd /usr/java/solr-cloud/zookeeper1/bin ./zkServer.sh start cd ../../zookeeper2/bin ./zkServer.sh start cd ../../zookeeper3/bin ./zkServer.sh start
修改這個文件權限:
root@wubi:/usr/java/solr-cloud# chmod u+x start-up.sh
2. 啓動
3. 驗證
這裏能夠經過命令來查看如下,哪個zookeeper是主,那個是從。
這裏看到,zookeeper2是主,其餘是從。