solr集群solrCloud的搭建
上一章讲了solr单机版的搭建,本章将讲解sole集群的搭建。solr集群的搭建需要使用到zookeeper,搭建参见zookeeper集群的安装
一、solr实例的搭建
1. tomcat安装
这里我们需要4个tomcat,分别是tomcat1,2,3,4
同时修改tomcat1,2,3,4的端口为8080-8083。保证两个tomcat可以正常运行不发生端口冲突。
2.解压solr-4.10.3.tar.gz压缩包。从压缩包中复制/solr-4.10.3/dist/solr-4.10.3.war到tomcat1,并重命名为solr.war。
3.启动tomcat,解压solr.war。解压成功后关闭tomcat,删除solr.war
4.将solr日志相关的jar包拷贝到解压的solr项目的lib包中
5.创建solrhome文件
这里直接拷贝单机版中创建的solrhome
6.修改tomcat1-4中的solr的web.xml对应的env-entry-value值为/usr/local/solrcloud/solrhome1-4,指定对应的solrhome
7.其他的配置参见solr单机版的搭建
二、solr集群的搭建
1.把solrhome中的配置文件上传到zookeeper集群。使用zookeeper的客户端上传。
使用solr安装包中的/opt/mysoft/solr-4.10.3/example/scripts/cloud-scripts中的zkcli.sh
运行命令
./zkcli.sh -zkhost 192.168.198.130:,192.168.198.130:,192.168.198.130: -cmd upconfig -confdir /usr/local/solrcloud/solrhome1/collection1/conf -confname myconf
查看运行是否成功,使用zookeeper中的脚本
2.修改solrhome1-4下的solr.xml文件,指定当前实例运行的ip地址及端口号8080-8083。
3.修改每一台solr的tomcat 的 bin目录下catalina.sh文件中加入DzkHost指定zookeeper服务器地址:
JAVA_OPTS="-DzkHost=192.168.198.130:2181,192.168.198.130:2182,192.168.198.130:2183"
4.重启tomcat
查看运行结果
5.创建一个两片的collection,每片是一主一备
http://192.168.198.130:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
回到主界面查看
6.删除collection1
http://192.168.198.130:8080//solr/admin/collections?action=DELETE&name=collection1
查看主界面
三、java测试代码
@Test
public void testAddDocument() throws Exception {
//创建一个和solr集群的连接
//参数就是zookeeper的地址列表,使用逗号分隔
String zkHost = "192.168.198.130:2181,192.168.198.130:2182,192.168.198.130:2183";
CloudSolrServer solrServer = new CloudSolrServer(zkHost);
//设置默认的collection
solrServer.setDefaultCollection("collection2");
//创建一个文档对象
SolrInputDocument document = new SolrInputDocument();
//向文档中添加域
document.addField("id", "test001");
document.addField("item_title", "测试商品");
//把文档添加到索引库
solrServer.add(document);
//提交
solrServer.commit();
} @Test
public void queryDocument() throws Exception{
//创建一个和solr集群的连接
//参数就是zookeeper的地址列表,使用逗号分隔
String zkHost = "192.168.198.130:2181,192.168.198.130:2182,192.168.198.130:2183";
CloudSolrServer solrServer = new CloudSolrServer(zkHost);
//设置默认的collection
solrServer.setDefaultCollection("collection2");
solrServer.deleteByQuery("*:*");
solrServer.commit();
}
四、spring集成
<bean id="cloudSolrServer" class="org.apache.solr.client.solrj.impl.CloudSolrServer">
<constructor-arg name="zkHost" value="192.168.25.154:2181,192.168.25.154:2182,192.168.25.154:2183"></constructor-arg>
<property name="defaultCollection" value="collection2"></property>
</bean>
java代码使用方法不变,因为SolrServer是CloudSolrServer的父类
solr集群solrCloud的搭建的更多相关文章
- solr集群SolrCloud(solr+zookeeper)windows搭建
SolrCloud是什么 参考 solrCloud官网介绍 http://lucene.apache.org/solr/guide/6_6/solrcloud.html Apache Solr 可以设 ...
- Solr集群—SolrCloud
1. 学习计划 1.solr集群搭建 2.使用solrj管理solr集群 3.把搜索功能切换到集群版 2. 什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜 ...
- Solrcloud(Solr集群)
Solrcloud(Solr集群) Solrcloud介绍: SolrCloud(solr集群)是Solr提供的分布式搜索方案. 当你需要大规模,容错,分布式索引和检索能力时使用SolrCloud. ...
- (转)淘淘商城系列——Solr集群搭建
http://blog.csdn.net/yerenyuan_pku/article/details/72957201 我们之前做的搜索使用的是Solr的单机版来实现的,正是由于我们现在商品数据量不多 ...
- Solr集群环境搭建
一.准备工作 首先保证已经安装JDK工具包: [root@localhost opt]# java -version java version "1.8.0_144" Java(T ...
- solrcloud集群版的搭建
说在前面的话 之前我们了解到了solr的搭建,我们的solr是搭建在tomcat上面的,由于tomcat并不能过多的承受访问的压力,因此就带来了solrcloud的时代.也就是solr集群. 本次配置 ...
- 分布式搜索之搭建Solrcloud(Solr集群)
Solrcloud介绍: SolrCloud(solr集群)是Solr提供的分布式搜索方案. 当你需要大规模,容错,分布式索引和检索能力时使用SolrCloud. 当索引量很大,搜索请求并发很高时,同 ...
- Solr 11 - Solr集群模式的部署(基于Solr 4.10.4搭建SolrCloud)
目录 1 SolrCloud结构说明 2 环境的安装 2.1 环境说明 2.2 部署并启动ZooKeeper集群 2.3 部署Solr单机服务 2.4 添加Solr的索引库 3 部署Solr集群服务( ...
- Solr集群(即SolrCloud)搭建与使用
1.什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候是不 ...
随机推荐
- 如何搭建MVC3与配置models层
1.1 新建项目 第一步:打开Vs2010界面,点击左上角文件,点击新建,选择项目 1.1(图1) 第二步:点击网站Web类型,选择ASP.net MVC3 Web应用程序,在名称中输入项目名称(解决 ...
- Scut:缓存管理
Scut 的缓存管理看起来还是蛮复杂的. redis 本身就有内存缓存+持久化的作用,Scut还是自己封装了一层内存缓存+Redis缓存+持久化. . 这是一个缩略版本的结构图. 1. 上半部分是 ...
- Tomcat基础教程(一)
Tomcat, 是Servlet和JSP容器,其是实现了JSP规范的servlet容器.它在servlet生命周期内包容,装载,运行,和停止servlet容器. Servlet容器的三种工作模式: 1 ...
- reaver使用相关
(非TP-LINK路由推荐–d9 –t9参数防止路由僵死 reaver -i mon0 -b MAC -a -S –d9 –t9 -vv) 小结-学习时应因状况调整参数(-c后面都已目标频道为1作为例 ...
- ExtJs5_使用图标字体来美化按钮
sencha 的例子中,有使用图标字体来美化按钮的例子,这个用起来又方便风格又统一,例如下图: 上面图标字体的使用方法也很简单,只要下载Font Awesome的css和图标文件,放到项目里就可以了. ...
- h.264参考图像列表、解码图像缓存
1.参考图像列表(reference picture list) 一般来说,h.264会把需要编码的图像分为三种类型:I.P.B,其中的B.P类型的图像由于采用了帧间编码的这种编码方式,而帧间编码又是 ...
- EMS-keil C51常用错误
1. LAB100.C(12): error C216: subscript on non-array or too many dimensions 原程序如下: #include <reg51 ...
- BZOJ 1011 [HNOI2008]遥远的行星
1011: [HNOI2008]遥远的行星 Time Limit: 10 Sec Memory Limit: 162 MBSec Special JudgeSubmit: 2559 Solved ...
- jqGrid中多选
原文地址;http://www.cnblogs.com/josechuanmin/archive/2013/05/19/3087138.html 在jqGrid中设置multiselect: true ...
- G - Island Transport - hdu 4280(最大流)
题意:有N个岛屿,M条路线,每条路都连接两个岛屿,并且每条路都有一个最大承载人数,现在想知道从最西边的岛到最东面的岛最多能有多少人过去(最西面和最东面的岛屿只有一个). 分析:可以比较明显的看出来是一 ...