solr(六) 集群

前言

  随着用户的增多,空间和并发量越来越多,会导致一台solr服务器干不过了。这时候,就需要将solr集群以下。

集群架构   

 

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

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

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

solrCloud需要 solr基于zookeeper部署,zookeeper是一个集群管理软件,solrCloud需要由多台服务器组成。由zookeeper来进行协调管理 ,多个分片相加起来才是一个完成的索引库

zookeeper的集群:

  见 zookeeper集群

Solr集群搭建

一. 拷贝tomcat和solrhome

新建文件夹 solr-cloud。将之前solr单机版中的tomcat,solrhome拷贝到solr-cloud文件夹中。

二. tomcat修改

1.端口修改

在solr-cloud文件夹中, 执行以下命令:

vim ./tomcat1/conf/server.xml

查询并修改其中的三个port:

1).

2).

3).

其他的tomcat分别修改port的第二个数值为相应数值即可,

如:8280/8209/8205,8380/8309/8305,8480/8409/8405。

2. web.xml 修改

分别修改 webapps/solr/WEB-INF/web.xml文件 - 将solrhome和solr关联起来

<env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/usr/java/solr-cloud/solrhome1</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
</env-entry>

tomcat2 -> /usr/java/solr-cloud/solrhome2

tomcat3 -> /usr/java/solr-cloud/solrhome3

tomcat4 -> /usr/java/solr-cloud/solrhome4

3. catalina.sh修改

通过修改这里的JAVA_OPTS将tomcat和zookeeper关联起来。

分别修改tomcat/bin/catalina.sh文件

加入:

JAVA_OPTS="-DzkHost=192.168.0.102:2181,192.168.0.102:2182,192.168.0.102:2183"

三. solrhome修改

1. solrhome1下面的solr.xml文件修改

host为对应tomcat1部署的电脑ip,hostport为tomcat1修改后的端口号。

solrhome2(192.168.0.102, 8280)

solrhome3(192.168.0.102, 8380)

solrhome4(192.168.0.102, 8480)

2. 上传solrhome/core1/conf目录

将conf目录上传到zookeeper中,由zookeeper统一管理配置文件。只需要上传任意一个solrhome中的配置就可以了。

切换到之前solr解压的目录中:/usr/java/solr/solr-6.6.2/server/scripts/cloud-scripts

执行以下命令:

./zkcli.sh -zkhost 192.168.0.102:2181,192.168.0.102:2182,192.168.0.102:2183 -cmd upconfig -confdir /usr/java/solr-cloud/solrhome1/core1/conf -confname myconf

执行完此命令后,可以进入zookeeper目录中验证一下是否成功。

在zookeeper1/bin目录下执行 ./zkCli.sh 命令查看zookeeper上的配置文件信息

四. 启动tomcat

新建一个文件,来一键启动tomcat。

vim start-tomcat.sh

修改文件权限

chmod u+x start-tomcat.sh

然后执行 ./start-tomcat.sh 命令。

从这里并不能直观看到是否真的起来了。可以通过查看日志的方式,或者通过访问的方式。

tail -f /usr/java/solr-cloud/tomcat1/logs/catalina.out

OK, 到这里,终于能看到页面了。在浏览器中打开:http://localhost:8180/solr/index.html#/

菜单上多出来了一个cloud目录。

五.分片

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

在浏览器中直接访问以上地址.

如果报 org.apache.solr.handler.dataimport.DataImportHandler 错误, 则将 dataimport的jar包拷贝一份到tomcat/webapps/solr/WEB-INF/lib 中去.

这时候, 再刷新solr/index.html页面看看

你会发现,在core1下面,又多出一个core, 且是分片的. 以前只有一个主solr, 现在有两个主solr了.

core1现在我们不需要了, 可以删除掉. 那怎么删呢?

http://127.0.0.1:8180/solr/admin/collections?action=DELETE&name=core1

也是通过浏览器直接访问的方式.

再来看看index.html页面

core1被删除了.

原文地址:https://www.cnblogs.com/elvinle/p/8453771.html

时间: 2024-08-30 04:43:58

solr(六) 集群的相关文章

Solr主从集群配置简要说明

关于solr的集群主要分为主从和SolrCloud两种.主从,比较适合以读为主的场景.SolrCloud适合数据量大,时不时会有更新的情形.那么solr的主从配置很简单.在solrconfig.xml中找到 <requestHandler name="/replication" class="solr.ReplicationHandler" > .这里的replication主要解决主从复制的.它主要实现:在主进行数据写操作,在slave节点进行读操作.

zookeeper和solr搭建集群分片查询

这几天双十一弄得不要不要的.各种困.出差有一些时间.晚上回头摆弄摆弄.白天不忙就是找个地方想想写写.就这样一周多过去了.好了.不扯了入正题. 1 .环境搭建 MacBook pro 15款840 OS X 10.10.5 solr-5.2.1.tgz zookeeper-3.4.6.tar.gz VMWare Fusion8 Centos 6.7 2 .搭建solr集群. 在之前说过zookeeper集群的搭建,所以在这就别啰嗦了.基本是一样的.不过因为之前搭建过rabbitmq集群,改了一些配

solr+zookeeper集群搭建

一.前期准备工作 相关工具: 1.虚拟机(VMware) 2.tomcat7 64位  下载地址:http://tomcat.apache.org/download-70.cgi 3.centos6.4  64位 4.linux下的64位jdk安装包,版本为6或以上 5. solr-4.3.1.tgz包  下载:http://archive.apache.org/dist/lucene/solr/ 6. zookeeper-3.4.5.tar.gz包  下载:http://hadoop.apac

NOSQL(六)集群并发计算模型Map-Reduce

<NoSQL精粹>读书笔记,转载请注明出处<jiq?钦's technical Blog> 面向聚合的数据库能够兴起,很大程度上是由于集群的增长.集群不仅改变了数据存储的规则,还改变了数据计算的方式. 集中式数据库通常两种方式处理计算逻辑:一种是在数据库服务器上执行数据计算.一种是在客户端计算机上执行数据计算.把数据库放到集群之后,采用的计算方式是将计算分布到多台计算机上,同时为了尝试减少网络传输的数据量,把节点所需的数据尽可能多地放到该节点上执行.这就是所谓的"Map-

redis学习六 集群的原理(转载)

转载自 http://shift-alt-ctrl.iteye.com/blog/2285470 一.Redis Cluster主要特性和设计     集群目标 1)高性能和线性扩展,最大可以支撑到1000个节点:Cluster架构中无Proxy层,Master与slave之间使用异步replication,且不存在操作的merge.(即操作不能跨多个nodes,不存在merge层) 2)一定程度上保证writes的安全性,需要客户端容忍一定程度的数据丢失:集群将会尽可能(best-effort

solr+zookeeper集群配置

将solr配置文件交给zookeeper进行管理 ./zkcli.sh -zkhost node01:2181,node02:2181,node03:2181 -cmd upconfig -confdir /export/servers/solr/solr-home/collection1/conf/ -confname solrconf 原文地址:https://www.cnblogs.com/chen-lhx/p/10469490.html

Solr集群、KI分词、项目实战

Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎. 讲师本人之前在互联网大数据.国家水电数据中心方面的项目时,对海量数据的查询和检索都采用了solr的集群服务,达到高效的实时搜索效果,为满足越来越多大数据人才的需求,特意整理录制成视频,适合各层次学员学习本视频的知识点,当然课程中的知识点大家一看也就知道

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

1.什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使用SolrCloud来满足这些需求.SolrCloud是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心.它有几个特色功能: 1)集中式的配置信息. 2)自动容错. 3

集群部署及测试SolrCloud-5

SolrCloud-5.2.1 集群部署及测试 一. 说明 Solr5内置了Jetty服务,所以不用安装部署到Tomcat了,网上部署Tomcat的资料太泛滥了. 部署前的准备工作: 1. 将各主机IP配置为静态IP(保证各主机可以正常通信,为避免过多的网络传输,建议在同一网段). 2. 修改主机名,配置各主机映射:修改hosts文件,加入各主机IP和主机名的映射. 3. 开放相应端口或者直接关闭防火墙. 4. 保证Zookeeper集群服务正常运行.Zookeeper的部署参考:http://