solr集群对象 java,solr集群搭建和 java调用 solr集群

solrClund 是solr提供的分布式搜索方案

solrClund 是基于solr和zookeeper的分布式搜索方案,

主要思想是使用zookeeper作为集群的配置中心

特色功能:

1.集中式的配置信息

2.自动容错

3.近实时搜索

4.查询时自动负载均衡

zookeeper:动物园管理员,用于管hadoop(大象)、Hive(蜜蜂)的管理员

SolrCloud结构

需要由多台服务器共同完成索引和搜索任务

实现的思路是将索引数据进行shard(分片) 拆分,每个分片由多台的服务器共

同完成。当一个索引或搜索请求过来时会分别从不同的shard的服务器中操作

索引。

solrCloud需要 solr基于zookeeper部署,zookeeper是一个集群管理软件,

由solrCloud需要由多台服务器组成。由zookeeper来进行协调管理

多个分片相加起来才是一个完成的索引库

f7fd3fa0629b21303d6e9990a4f47947.png

d86e312ff38a98331589fcf0f961652f.png

服务器数量:

zookeeper:3台服务器

solr:4台服务器

集群搭建

zookeeper集群:

zookeeper有一个选举机制,选举谁是leader,谁是follower,成为主

节点,需要得到半数以上的投票。所以尽可能为奇数节点

1.创建三个zookeeper实例:

2.分别在zookeeper文件夹下,创建data文件夹,下面创建myid(内容为1、2、3)

3.在E:\solr\solrColud\zookeeper1\conf 下将zoo_sample.cfg更名为zoo.cfg

#myid文件的位置

dataDir=E:/solr/solrColud/zookeeper1/data

# the port at which the clients will connect

#zookeeper对外提供的端口号:

clientPort=2181

#集群所有节点的信息

# server.1:代表第一台zookeeper,1为myid文件中的值,

#两个端口号:1个投票的,1个选举的

server.1=127.0.0.1:2881:3881

server.2=127.0.0.1:2882:3882

server.3=127.0.0.1:2883:3883

//第二台和第三台则只需要修改myid的文件位置和端口号

4.启动zookeeper,三台都启动成功,则不再报错

solr实例

1.启动4个tomcat实例

2.搭建4个单机版solr实例

3.需改tomcat的端口号:

8080

8081

8082

8083

4.需改solrhome的位置

集群搭建

1.让zookeeper集群集中管理配置文件,把配置文件上传到zookeeper

2.将E:\solr\solrColud\solrhome1\collection1\conf 下面的内容上传到zookeeper集群中

3.在cmd 中 ,命令上传文件:

java -classpath E:\solr\solrColud\apache-tomcat1\webapps\solr\WEB-INF\lib/* org.apache.solr.cloud.ZkCLI -zkhost 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 -cmd upconfig -confdir E:\solr\solrColud\solrhome1\collection1\conf -confname myconf

4.查看上传的文件:有myconf说明上传成功

de4ed24ef9c27ec255f3f07e0855d626.png

5.修改每个solrhome下的solr.xml文件

//solr每个实例对应的ip

${host:127.0.0.1}str>

//tomcal的端口

${jetty.port:8080}int>

${hostContext:solr}str>

${zkClientTimeout:30000}int>

${genericCoreNodeNames:true}bool>

solrcloud>

class="HttpShardHandlerFactory">

${socketTimeout:0}int>

${connTimeout:0}int>

shardHandlerFactory>

solr>

6.告诉每个solr实例,zookeeper集群的位置

修改每一台 tomcat的bin目录下catalina.bat文件中加入DzkHost指定

zookeeper服务器地址

set JAVA_OPTS="-DzkHost=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"

7.启动所有tomcat

8.访问solr

4eeaeb83bb51937c9a033e4dbf6992c8.png

9.现在只有一片,1个主,三个备

10.使用命令进行分片,两分的集群

http://127.0.0.1:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2

11.表示创建切片成功,每一片都是一主一备

156077236a9bf685fed96aba89648d50.png

12删除集群的命令:

http://127.0.0.1:8080/solr/admin/collections?action=DELETE&name=collection1

ed475e175461ed56aa7ca5550894c4ce.png

java调用 solr集群

//添加文档

24161885a52b792c51ed6a7cd14bbf86.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值