首页 > 编程知识 正文

solarcity,solarmax3

时间:2023-05-03 16:36:59 阅读:168952 作者:1115

1 .概要SolrCloud(Solr云)是Solr提供的分布式搜索方案,ssdls在需要大规模、容错、分布式索引和搜索能力的情况下使用solrcloud。 如果索引数量大且经常并发搜索请求,则必须使用SolrCloud来满足这些需求。

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

有几个特征功能。

1 )集中配置信息

2 )自动容错

3 )近实时搜索

4 )查询时自动负载均衡

2.solr集群的系统体系结构

2.1物理结构是几个Solr实例,每个实例包含两个核心,组成一个SolrCloud

2.1.1主服务器和备用服务器是主服务器结构中的主节点(通常为主服务器),而备用服务器是主服务器结构中的从服务器(通常为从服务器或备用服务器) master和slave在同一Shard上存储的数据是一致的,以实现高可用性。

2.1.2酷睿每个酷睿都是Solr中的独立运行单位,提供索引和检索服务。 一个shard必须由一个Core或多个Core组成。 因为collection由多个shard组成,所以collection一般由多个core组成。

2.2逻辑结构索引的集合由2个Shard (瓷砖)构成,瓷砖1和瓷砖2分别由3个Core构成,其中1个是Leader )主(2个是Replication ),Leader是zookeeper

用户的索引请求分别来自shard1和shard2,解决了高并发性问题

2.2.1 collection Collection是SolrCloud簇中逻辑意义上的完整索引结构。 它们通常被划分为使用相同配置信息的一个或多个Shard (分片)。

例如,可以为搜索产品信息创建collection。

collection=shard1shard2. shardx

2.2.2共享的逻辑平铺。 每个Shard都转换为一个或多个复制,选举将决定哪个是Leader。

3.solr集群的构建整体结构图如下。

Zookeeper作为集群管理工具:

1 )集群管理:容错、负载均衡

2 )个人资料集中管理

3 )集群入口:

主要实现zookeeper的高可用性需要构建zookeeper集群,推荐奇数节点,需要3台zookeeper服务器

构建solr群集需要7台服务器(构建伪分布式,建议使用1G以上的虚拟机内存) )。

需要三个zookeeper节点

需要四个tomcat节点

3.1配置准备1 ) zookeeper集群的配置

2 )将已部署solr的tomcat上传到Linux

3 )在Linux上创建文件夹/usr/clusor/solr,并创建四个Tomcat实例

4 )将本地solrhome上传到Linux

5 )在Linux上创建文件夹/usr/clusor/solrhomes,并复制四份solrhome

6 )修改每个solr的web.xml文件并将其与solrhome相关联

7 )更改每个tomcat的原始操作端口8005 8080 8009

8185 8180 8109

8285 8280 8209

8385 8380 8309

注意:

1. 8005端口:用于关闭tomcat服务器的端口

2. 8080端口:负责建立HTTP连接,用于通过浏览器访问tomcat服务器的web APP应用程序

3. 8009端口:您负责与其他HTTP服务器的连接,并且必须使用此连接器将tomcat与其他HTTP服务器集成。

3.2群集配置3.2.1修改Tomcat配置修改每个Tomcat实例的扩展笔目录中的catalina.sh文件。 将以下配置添加到catalina.sh文件(注释的Java _ opts=' $ Java _ opts-dorg.Apache.catalina.security.security listener.)

jva _ opts='-dzk host=192.168.25.13033602181、192.168.25.13033602182、192.168.25.13033602183 '图

注意: JAVA_OPTS是

是用来设置JVM相关运行参数的变量,此配置用于在tomcat启动时找到zookeeper集群。

3.2.2 配置SolrCloud相关

在每个solrhome下都有一个solr.xml,把其中的IP及端口号配置好(是对应的tomcat的IP和端口号),如图:

1)solrhome1修改

第一个solr对应第一个tomcat,所以端口与主机配置第一个tomcat的主机地址与端口,配置如下:

2)solrhome2修改

第二个solr对应第一个tomcat,所以端口与主机配置第二个tomcat的主机地址与端口,配置如下:

3)solrhome3修改

第三个solr对应第一个tomcat,所以端口与主机配置第三个tomcat的主机地址与端口,配置如下:

4)solrhome4修改

第四个solr对应第一个tomcat,所以端口与主机配置第四个tomcat的主机地址与端口,配置如下:

3.2.3 配置文件的集中式管理——zookeeper管理配置

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

我们需要使用solr给我们提供的工具上传配置文件,工具地址为:solr/example/scripts/cloud-scripts/zkcli.sh,如图:

操作步骤:

1)将solr压缩文件上传到Linux服务器并解压,如图:

2)进入example/scripts/cloud-scripts/目录,可以看到solr的zookeeper连接工具zkcli.sh

3)执行如下命令:

./zkcli.sh -zkhost 192.168.25.130:2181,192.168.25.130:2182,192.168.25.130:2183 -cmd upconfig -confdir /usr/clusor/solrhomes/solrhome-1/collection1/conf -confname myconf

出现如下提示表示上传成功

 

注意:执行命令前需要保证zookeeper集群处于启动状态中。

注意:命令解释

1. -zkhost:zookeeper地址列表
2. -cmd:表示命令
3. upconfig:表示上传配置
4. -cmd upconfig:表示指定命令upconfig上传配置文件
5. -confdir:表示配置文件目录,后面接配置文件具体地址
6. -confname:为配置起个名字

4)查看zook上的配置文件:使用zookeeper目录下的拉长的钢笔/zkCli.sh命令查看zookeeper上的配置文件

使用命令:./zkCli.sh,如图:

注意:

1. 如果默认端口不是2181,要是用连接命令server

./zkCli.sh -server 192.168.25.130:2181

 -server:指定IP地址,IP后面跟端口号

2. 退出使用命令quit

3.3 启动集群

1)启动每个tomcat实例,solr集群自动就启动了

2)访问集群,在浏览器输入任意一个tomcat的url都可以,例如:http://192.168.25.130:8180/solor ,当界面出现如下图所示,表示集群启动成功

进入cloud,可以看到集群信息,如图:

这个collection1就是整个索引库

shard1表示分片,目前分片只有一个

黑色的ip代表leader

4. 项目连接集群

        在solrJ中提供了一个叫做CloudSolrServer的类,它是SolrServer的子类,用于连接solrCloud,它的构造参数就是zookeeper的地址列表,另外要求指定defaultCollection属性(默认的collection名称)。

        这时候,只需要将之前的单机版的配置改成集群版的就可以了,配置如下所示:

5. 设置集群分片 5.1 创建新的Collection

创建新的Collection进行分片处理,在浏览器输入以下地址,创建新的Collection

http://192.168.25.130:8180/solor/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2

参数:

action:表示执行的动作

name:将被创建的集合的名字

numShards:集合创建时需要创建逻辑碎片的个数

replicationFactor:分片的副本数即从节点的总个数。

5.2 删除分片

我们也可以删除新建的索引,例如:

http://192.168.25.130:8180/solor/admin/collections?action=DELETE&name=collection2

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。

  • 相关阅读