因为集群至少四台服务器,两个集群两个备份。伪分布式:改的时端口号,应该改不同的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