首先是zookeeper的集群搭建:
1.新建文件夹/usr/local/solrcloud
2.把解压的zookeeper拷贝三份到上面的solrcloud文件夹zookeeper01、zookeeper02、zookeeper03
3.zookeeper01目录下创建一个data/myid,myid写入1(02写入2,03写入3)
4.配置zookeeper01-zookeeper03端口
把/usr/local/solr-cloud/zookeeper01/conf里面的zoo_sample.cfg复制一份zoo.cfg【依次类推】
修改配置文件zoo.zfg【依次类推】
路径:dataDir=/usr/local/solr-cloud/zookeeper01/data/【依次类推】
端口:clientPort=2181【依次类推】
末尾添加:
server.1=192.168.2.128:2881:3881
server.2=192.168.2.128:2882:3882
server.3=192.168.2.128:2883:3883
5.启动,zookeeper目录下有个bin/zkServer.sh start启动服务
关闭,bin/zkServer.sh stop
查看服务状态:./zkServer.sh status
然后是Solr集群搭建
1.拷贝4个tomcat到solrcloud文件夹,tomcat01-tomcat04,修改其端口。8080-8083
2:解压solr-4.10.3.tar.gz压缩包。从压缩包中复制solr.war到每个tomcat的webapp下。
3:启动tomcat解压war包。把solr-4.10.3目录下example目录下的关于日志相关的jar包添加到solr工程中。
4:在solrcloud(自己创建的,里面有三个zookeeper,四个tomcat)里创建四个solrhome。修改每个tomcat里的web.xml指定对应solrhome的位置。
例如vim tomcat04/webapps/solr-4.10.3/WEB-INF/web.xml
5让zookeeper统一管理配置文件。需要把solrhome/collection1/conf目录上传到zookeeper。
上传任意solrhome中的配置文件即可。(确保zookeeper已启动)
cd /root/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh
三个zookeep服务器内容要一样,所以三个都得有myconf
./zkcli.sh -zkhost 192.168.2.128:2181,192.168.2.128:2182,192.168.2.128:2183 -cmd upconfig -confdir /usr/local/solrcloud/solrhome1/collection1/conf -confname myconf |
6.查看是否上传成功,使用zookeeper的zkCli.sh,然后ls /configs/myconf
7.要告诉每个tomcat zookeeper的位置,在每个tomcat的bin的catalina.sh
如下位置添加JAVA_OPTS:【注意ip地址和端口号】
vi /usr/local/solrcloud/tomcat04/bin/catalina.sh
# Uncomment the following line to make the umask available when using the
# org.apache.catalina.security.SecurityListener
#JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`"
JAVA_OPTS="-DzkHost=192.168.2.128:2181,192.168.2.128:2182,192.168.2.128:2183"
- 启动全部tomcat
- 访问http://192.168.52.129:8081/solr/#/~cloud,查看是否全部active【绿色】,且有一个黑的【Leader】
- 默认第一次登上去 刚搭建好的collection索引库是一片,也就是一主三备(4个solr服务器)
然后我们通过在浏览器上输入URL地址进行创建新的索引库(符合我们项目要求的.)
创建新的Collection进行分片处理。
http://192.168.2.128:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
删除不用的Collection。
http://192.168.25.111:8081/solr/admin/collections?action=DELETE&name=collection1
我们先把collection1删除,然后再添加新的索引库collection1.