项目实践——solr服务器的搭建以及solr集群的搭建

luceen是基于java开发的api

solr是基于luceen开发的全文检索服务器,solr对外提供的是http服务,本质上就是一个war包

solr服务器的搭建过程(因为是基于java的所以,得先有jdk)

1,先把压缩包传送到linux传到服务器上,然后解压下来

2,解压下来的文件夹中 dist目录十分的重要,里面有solr war包,相当于solr的服务端,还有solrj的jar包,相当于solr的客户端。solrhome保存solr服务的所有配置文件

3,和tomcat做整合,所以tomcat也要传到服务器中

4,把solr的war包部署到tomcat中。即将dist下面的solr  war包放到tomcat的webapp下。

5,解压缩,刚才放入tomcat的war包。启动tomcat就会自动的解压war包。进入tomcat目录下  执行  bin/start.sh

6,关闭tomcat,此时你会发现在webapp下面有一个solr的文件夹,这时候就应该把war包给删除了,不然启动tomcat的时候他又会自动的解压一遍。

7.复制jar包到刚才在webapp中的solr服务器中, cp example/lib/ext/* /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/

8,篇日志solrhome        cp -r example/solr /usr/local/solr/solrhome

9,告诉solr服务器solrhome在哪,最简单的办法就是修改solr服务器下面的web.xml文件

10,再次启动tomcat,如果此时在浏览器中输入        服务器ip:8080/solr  可以访问solr的页面的话,就是部署成功了


如果想使用中文解析器的话,那么推荐使用IKanalyzer。配置约束

1,先将IKanalyzer文件夹传入到服务器中。

2,进入ik文件夹中,把jar包加入到solr的服务器中lib文件夹中

3,把ik文件夹中配置文件和两个文件传入到solr服务器中的classes文件中,如果没有classes,就创建一个

4,定义filetype,在solrhome中定义,在solrhome中collection1中的conf文件中schema.xml是定义所有业务域的。

4,定义filed。


此时定义好solr以后,就应该使用java来使用solr了  用solrj

1,先创建一个solrserver的对象,

2,创建一个solrquery对象,

3,设置查询的条件,过滤条件,分页条件,排序条件,以及高亮的显示

4,执行查询,得到一个response对象

5,取出查询结果

6,取高亮的显示

此时如果网页的并发量十分大的话,搜索的人同时访问十分的大,那么可以将solr建立集群

在solr集群中zookeeper可以管理集群,

集群的架构:分为物理结构和逻辑结构

物理结构:一个solr集群,在这个集群里面有好几台的服务器,每台服务器上装一个solr服务,每一个core可以存放不同的索引


1,先建立一个solr-cloude

2,然后船zookeeper到服务器中,创建三个zookeeoer节点

3,因此复制将zookeeper复制到solr-cloude,复制三份

4,然后配置zookeeper ,先进入第一个节点中:1,创建data目录

2,在data目录下创建一个文件叫myid的文件并且编辑myid文件 在里面为此节点赋一个id值,例如为1

3.,进conf文件夹中,  看其中一个文件将其改为zoo.cfg

4.编辑这个文件,datadir的值改一下,clientport不能冲突,所以得注意,并且在后面加表示集群中的几个节点,端口号和ip

server.1(编号)=服务器所在的ip:2881(zookeeper内部通信的端口):3881(选举端口)
server.2(编号)=服务器所在的ip:2882(zookeeper内部通信的端口):3882(选举端口)
server.3(编号)=服务器所在的ip:2883(zookeeper内部通信的端口):3883(选举端口)

5,同样的配置配置其他两个目录下的节点,配置好以后,可以写一个批处理文件,启动三个节点

6,搭建玩zookeeper的集群以后,接着搭建solr集群。

1,有四个solr,说明要有四个tomcat,因为是在同一台服务器中,所以tomcat中的端口号不能相同,得改一下

2,然后把solr的文件复制到四个tomcatt中,修改每个web.xml文件,将solrhome的目录名改了,并且指定当前solr所对应

的tomcat的ip和端口号,

7,配置玩zookeeper和solr集群以后,接着要让zookeeper和tomcat关联在一起。需要改tomcat的文件,在tomcat中bin目录下catalina.sh文件,编辑文件需要改

JAVA_OPTS="-DzkHost=zookeeper的ip地址:端口号,zookeeper的ip地址:端口号,zookeeper的ip地址:端口号"

8,把配置文件上传到zookeeper,让zookeeper统一管理配置文件

如何上传呢??在solr的源文件夹里面的example文件夹中招zkcli可执行文件,然后输入命令

./zkcli.sh -zkhost 192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf/ -confname myconf

让solr连接zookeeper  ./zkCli.sh -server 192.168.25.154:2182

8,启动所有的tomcat





SolrCloud创建Collection的命令
http://192.168.25.154:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
SolrCloud删除Collection的命令
http://192.168.25.154:8180/solr/admin/collections?action=DELETE&name=collection1


集群搭建成功以后。得会使用,
如何使用solrj来使用集群呢。
创建一个cloudsolrServer,构造方法中需要指定zookeeper的地址列表。
需要设置一个默认的collection,必须设置
创建一个文档对象,向文档中添加域。
把文档写入索引库
提交


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值