搭建基于Zookeeper和solr的分布式搜索:solrcloud

Posted wl889490

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建基于Zookeeper和solr的分布式搜索:solrcloud相关的知识,希望对你有一定的参考价值。

首先是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到每个tomcatwebapp下。

 

3启动tomcat解压war。把solr-4.10.3目录下example目录下的关于日志相关的jar包添加到solr工程中。

4solrcloud(自己创建的,里面有三个zookeeper,四个tomcat)里创建四个solrhome。修改每个tomcat里的web.xml指定对应solrhome的位置。

例如vim tomcat04/webapps/solr-4.10.3/WEB-INF/web.xml

 

 

 

5zookeeper统一管理配置文件。需要把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.查看是否上传成功,使用zookeeperzkCli.sh,然后ls /configs/myconf

7.要告诉每个tomcat zookeeper的位置,在每个tomcatbincatalina.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"

  1. 启动全部tomcat
  2. 访问http://192.168.52.129:8081/solr/#/~cloud,查看是否全部active【绿色】,且有一个黑的【Leader】
  3. 默认第一次登上去 刚搭建好的collection索引库是一片,也就是一主三备4solr服务器

然后我们通过在浏览器上输入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.

以上是关于搭建基于Zookeeper和solr的分布式搜索:solrcloud的主要内容,如果未能解决你的问题,请参考以下文章

Solr5.5.4+Zookeeper3.4.6+Tomcat8搭建SolrCloud集群

基于Solr和Zookeeper的分布式搜索方案的配置

Solr集群的搭建概述(非教程)

Solr集群(即SolrCloud)搭建与使用

Solr集群(即SolrCloud)搭建与使用

Linux系列之solr集群版环境搭建