solr集群搭建

1.什么是solrCloud

        SolrCloud(solr云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使用SolrCloud来满足这些需求。

        SolrCloud是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心。

        它有几个特色功能:

        1)集中式的配置信息

        2)自动容错

        3)近实时搜索

        4)查询时自动负载均衡

2.Zookeeper集群搭建

        1.在/usr/local目录下创建solr-cloud目录,复制三份zookeeper到该目录下,在每个zookeeper目录下创建一个data目录。

        2.在data目录下创建一个myid文件,文件名就叫做“myid”。内容就是每个实例的id。例如1、2、3

        3.修改配置文件。把conf目录下的zoo_sample.cfg文件改名为zoo.cfg

        修改dataDir的路径为每个zookeeper的data目录路径

        clientPort=2181,客户端连接zookeeper的端口号,保证每个实例端口号不冲突

        添加三个server

        server.1=192.168.xx.xxx:2881:3881

        server.2=192.168.xx.xxx:2882:3882

        server.3=192.168.xx.xxx:2883:3883

        集群中的节点列表,1、2、3代表节点的id,ip后的端口号是zookeeper内部通讯的端口和投票选举的端口,每个端口都不能重复

        4.启动每个zookeeper实例

3.solr集群搭建

        1.创建四个tomcat实例。每个tomcat运行在不同的端口。8180、8280、8380、8480

        2.把单机版的solr工程复制到集群中的tomcat中。

        3.为每个solr实例创建一个对应的solrhome,复制单机版的即可

        4.修改solr的web.xml文件。把solrhome关联起来。

        5.配置solrCloud相关的配置。每个solrhome下都有一个solr.xml,把其中的ip及端口号配置好。

        6.让zookeeper统一管理配置文件。需要把solrhome/solr_core/conf目录上传到zookeeper。上传任意solrhome中的配置文件即可。

        使用工具上传配置文件:/root/solr-7.5.0/server/scripts/cloud-scripts/zkcli.sh

        ./zkcli.sh -zkhost 192.168.xx.xxx:2181,192.168.xx.xxx:2182,192.168.xx.xxx:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solr1/solrhome1/solr_core/conf -confname myconf

        查看zookeeper上的配置文件:

        使用zookeeper目录下的bin/zkCli.sh命令查看zookeeper上的配置文件:

        [root@localhost bin]# ./zkCli.sh

        [zk: localhost:2181(CONNECTED) 0] ls /

        [configs, zookeeper]

        [zk: localhost:2181(CONNECTED) 1] ls /configs

        [myconf]

        [zk: localhost:2181(CONNECTED) 2] ls /configs/myconf

        使用以下命令连接指定的zookeeper服务:

        ./zkCli.sh -server 192.168.xx.xxx:2183

        7.修改tomcat/bin目录下的catalina.sh 文件,关联solr和zookeeper。

        把此配置添加到配置文件中:

        JAVA_OPTS="-DzkHost=192.168.xx.xxx:2181,192.168.xx.xxx:2182,192.168.xx.xxx:2183"

        8.启动tomcat

你可能感兴趣的:(solr集群搭建)