因爲集羣至少四臺服務器,兩個集羣兩個備份。僞分佈式:改的時端口號,應該改不同的ip
linux
tomcat
複製4份嶄新的tomcat
cp -r /root/solr/apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat01
cp -r /root/solr/apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat02
cp -r /root/solr/apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat03
cp -r /root/solr/apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat04
配置tomcat01文件
vim /usr/local/solr-cloud/tomcat01/conf/server.xml
<Server port="8005" shutdown="SHUTDOWN">
……
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
……
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
改成
<Server port="8105" shutdown="SHUTDOWN">
……
<Connector port="8180" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
……
<Connector port="8109" protocol="AJP/1.3" redirectPort="8443" />
其他以此類推
複製4份之前創建好的單機solr到
cp -r /usr/local/solr/tomcat/webapps/solr/ /usr/local/solr-cloud/tomcat01/webapps/
cp -r /usr/local/solr/tomcat/webapps/solr/ /usr/local/solr-cloud/tomcat02/webapps/
cp -r /usr/local/solr/tomcat/webapps/solr/ /usr/local/solr-cloud/tomcat03/webapps/
cp -r /usr/local/solr/tomcat/webapps/solr/ /usr/local/solr-cloud/tomcat04/webapps/
solrhome
cp -r /usr/local/solr/solrhome/ /usr/local/solr-cloud/solrhome01
cp -r /usr/local/solr/solrhome/ /usr/local/solr-cloud/solrhome02
cp -r /usr/local/solr/solrhome/ /usr/local/solr-cloud/solrhome03
cp -r /usr/local/solr/solrhome/ /usr/local/solr-cloud/solrhome04
配置文件solrhome01
vim /usr/local/solr-cloud/solrhome01/solr.xml
<str name="host">${host:}</str>
<int name="hostPort">${jetty.port:8983}</int>
修改爲
<str name="host">192.168.25.129</str>
<int name="hostPort">8180</int>
端口號要與tomcat配置一直
配置tomcat與sorlhome關係
配置文件tomcat01
vim /usr/local/solr-cloud/tomcat01/webapps/solr/WEB-INF/web.xml
<env-entry-value>/usr/local/solr/solrhome</env-entry-value>
改爲
<env-entry-value>/usr/local/solr-cloud/solrhome01</env-entry-value>
以此類推
配置tomcat與zookeeper關係
配置文件tomcat01
vim /usr/local/solr-cloud/tomcat01/bin/catalina.sh
要與之前配過的zookeeper01 02 03客戶端端口號一直
#JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`"
#這句話後邊添加變量:內容是zookeeper集羣地址,如下
JAVA_OPTS="-DzkHost=192.168.25.129:2281,192.168.25.129:2282,192.168.25.129:2283"
以此類推
使用工具上傳到zookeeper,上傳到任意一個zookeeper即可
cd /root/solr/solr-4.10.3/example/scripts/cloud-scripts
./zkcli.sh -zkhost 192.168.25.129:2281,192.168.25.129:2282,192.168.25.129:2283 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf -confname myconf
判斷上傳是否成功
ll /usr/local/solr-cloud/zookeeper01/bin/
成功顯示
total 52
-rw-r--r--. 1 root root 232 Sep 3 19:15 README.txt
-rw-r--r--. 1 root root 1937 Sep 3 19:15 zkCleanup.sh
-rw-r--r--. 1 root root 1056 Sep 3 19:15 zkCli.cmd
-rwxr--r--. 1 root root 1534 Sep 3 19:15 zkCli.sh
-rw-r--r--. 1 root root 1628 Sep 3 19:15 zkEnv.cmd
-rw-r--r--. 1 root root 2696 Sep 3 19:15 zkEnv.sh
-rw-r--r--. 1 root root 1089 Sep 3 19:15 zkServer.cmd
-rwxr--r--. 1 root root 6773 Sep 3 19:15 zkServer.sh
-rw-r--r--. 1 root root 13780 Sep 4 01:02 zookeeper.out
使用這裏的zkCli.sh測試連接
chmod u+x /usr/local/solr-cloud/zookeeper01/bin/zkCli.sh
cd /usr/local/solr-cloud/zookeeper01/bin/
./zkCli.sh -server 192.168.25.129:2281
#進入如下狀態。後再退出。
[zk: 192.168.25.129:2281(CONNECTED) 0]
quit
#再分別測試下邊兩條
./zkCli.sh -server 192.168.25.129:2282
./zkCli.sh -server 192.168.25.129:2283
啓動所有tomcat
vim start-all-tomcat.sh
/usr/local/solr-cloud/tomcat01/bin/startup.sh
/usr/local/solr-cloud/tomcat02/bin/startup.sh
/usr/local/solr-cloud/tomcat03/bin/startup.sh
/usr/local/solr-cloud/tomcat04/bin/startup.sh
chmod u+x start-all-tomcat.sh
測試solr雲
發現不是01配的,因爲 配置tomcat與sorlhome關係時直接寫的博客忘記配文件了 (⊙o⊙)…
正確如下
創建分片
刪除collection1
http://192.168.25.129:8180/solr/admin/collections?action=DELETE&name=collection1