文档章节

Solr6与Zookeeper在Tomcat环境安装部署SolrCloud集群

Zero零_度
 Zero零_度
发布于 2017/04/16 09:18
字数 1081
阅读 98
收藏 1

摘要: SolrCloud 是基于Solr和Zookeeper的分布式搜索方案,在搭建完一个Solr实例后,可以很容易地使用Zookeeper来安装部署一个集群。我演示的安装步骤基于一台机器,所以采用伪集群的方式进行安装,如果是真正的生成环境,将伪集群的ip改下就可以了,步骤是一样的。

准备工作

  • JDK1.8以上
  • Solr6的安装包(solr-6.0.0.zip 约140M)
  • Tomcat8(至少tomcat-8.0以上,apache-tomcat-8.5.5-windows-x86.zip 约10M)
  • Zookeeper(zookeeper-3.4.9.tar.gz 约22M)

Solr6部署在Tomcat8环境

你可以在这里(http://www.linuxidc.com/Linux/2016-10/136109.htm)找到如何将Solr6部署在Tomcat8环境下。想要在Jetty环境下部署Solr6的话,步骤基本相同。

Solr6集群部署

如果已经成功部署了一个Solr,那么接下来的工作也不会太难。下面的集群部署基于已经成功部署过单个Solr. 
1. 首先,需要将server复制三份,我刚开始用的是apache-tomcat-8.5.5,复制后分别加上一个标示,假设我取8081,8082,8083.同样,把solr_home也复制三份,加上标示。 
Tools 
2. 配置各自的solr_home:分别将./apache-tomcat-8.5.5 - 808X/webapps/solr/WEB-INF的web.xml文件中env-entry-value改为对应的solr_home808X路径。这次需要改3个地方。 
solr_home change 
3. 改端口号:由于我是在一台机器上启动4台Tomcat,所以需要不同的端口号。分别将./apache-tomcat-8.5.5 - 808X/conf的server.xml文件中Connector改为不重复的端口,假设我取8081,8082,8083。这次需要改3个地方。 
Port change 
要保证此次试验能够成功,还需要将server.xml中的所有端口号都更改掉,8005改为8105,8443改为8583,8009改为8109。如果不改的话,第一个Tomcat启动以后,其他Tomcat启动时,会报错,目前不知道原因。 
4. 配置Zookeeper:将Zookeeper解压后,在在其根目录新建一个存放数据的文件夹data.这次需要改1个地方。 
data 
5. 配置Zookeeper:将.\zookeeper-3.4.9\conf下的zoo_sample.cfg改名为zoo.cfg,修改其中的dataDir为刚刚新建的data文件夹,注意这里的路径是正斜杠,和windows默认的不一样。这次需要改1个地方。 
zoo.cfg 
6. 配置zookeeper和各个tomcat进行关联:首先确定leader节点,需要在server目录下(我的是apache-tomcat-8.5.5)的bin/catalina.bat中添加一行 
set JAVA_OPTS=-Dbootstrap_confdir=E:\Tools\solr_home\core0\conf -Dcollection.configName=clusterconf -DzkRun -DzkHost=localhost:2181 -DnumShards=2。这次需要改1个地方。 
catalina.sh leader
指定其他三个为follower节点,在各自的server目录下的bin/catalina.bat中添加一行 
set JAVA_OPTS=-DzkRun -DzkHost=localhost:2181 -DnumShards=2。这次需要改3个地方。 
catalina.sh follower 
-Dbootstrap_confdir ZooKeeper需要准备一份集群配置的副本,这个参数是告诉SolrCloud这些配置是放在哪里,同时作为整个集群共用的配置文件。 
-Dcollection.configName 指定你的配置文件上传到zookeeper后的名字,建议和你所上传的核心名字一致,这样容易识别。 
-DzkRun 在Solr中启动一个内嵌的zooKeeper服务器,该服务会管理集群的相关配置。 
-DzkHost 跟上面参数的含义一样,允许配置一个ip和端口来指定用哪个Zookeeper服务器进行协调。 
-DnumShards=2 配置需要把你的数据分开到多少个shard中 
7. 更改solr启动端口,对应你的tomcat端口:在每一个solr_home下,都有对应的solr.xml,修改其中的端口号为之前Tomcat启动的端口。这次需要改4个地方。 
-Dbootstrap_conf=true 将会上传solr/home里面的所有数据到zookeeper的home/data目录,也就是所有的core将被集群管理,本次我未使用这个参数。 
port change
8. 启动Zookeeper:双击./zookeeper-3.3.6/bin/zkServer.cmd 
zkServer.cmd 
9. 依次启动Tomcat服务:双击\apache-tomcat-8.5.5\bin\startup.bat 
启动第一台server后,访问http://localhost:8080/solr/index.html 
The First
启动第其余三台server后,访问http://localhost:8080/solr/index.html 
Gone
竟然只有一台server正常工作,检查日志,发现有异常出现: 
java.lang.IllegalStateException: This CoreContainer has been closed 
java.util.concurrent.ExecutionException: org.apache.solr.common.SolrException: Unable to create core [core0],分析是因为tomcat的端口问题,于是将server.xml中所有的端口都改为在集群中不重复数字,问题解决。 
这里写图片描述
下图是我的.\apache-tomcat-8.5.5 - 8083\conf\server.xml的配置情况: 
server.xml

本文转载自:http://www.linuxidc.com/Linux/2016-10/136110.htm

Zero零_度
粉丝 69
博文 1258
码字总数 257684
作品 0
程序员
私信 提问
【知识库-7】【平台类】【组件】SolrCloud搭建

1、Zookeeper集群的安装配置 1.1 zookeeper集群的主机数量是奇数 在成都云上的zookeeper集群主机:101.204.243.107/101.204.243.113/101.204.243.123 1.2 配置环境变量 1.3 加载环境变量 1....

大个鹿
2016/04/06
1
0
solrCloud+tomcat+zookeeper集群配置

http://www.tuicool.com/articles/NNjAFr 概述: SolrCloud 是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心。 它有几个特色功能: 1)集中式的...

毛朱
2015/05/06
0
2
# Solr搜索引擎 — SolrCloud介绍和环境准备

搞定了一切的一切之后下一步就是正式使用了,但是之前介绍的都是在单台服务器上进行的部署,如果在生产环境出现了单台故障怎么办呢?提供稳定性和性能的最直观的方式就是集群,solr官方提供了...

喵了_个咪
05/20
0
0
SolrCloud4.9+zookeeper在CentOS上的搭建与安装

Apache SolrCloud安装 SolrCloud通过ZooKeeper集群来进行协调,使一个索引进行分片,各个分片可以分布在不同的物理节点上,多个物理分片组成一个完成的索引Collection。SolrCloud自动支持Sol...

翊骷
2014/09/17
0
0
SolrCloud和MultiCore的区别

一、SolrCloud 与 MultiCore 的本质区别SolrCloud 用多台机搭建一个SolrCore(即整个系统只有一套schema,solrconfig)MultiCore 是多个独立的服务,不同的core可以用几套schema,solrconfi...

clebeg
2013/09/19
0
1

没有更多内容

加载失败,请刷新页面

加载更多

Jenkins系列_插件安装及报错处理

进入Jenkins之后我们可以进行插件的安装,插件管理位于以下模块: 发现上面报了一堆错误,是因为插件的依赖没有安装好,那么这一节,就先把这些错误解决掉吧。解决完成后,也就基本会使用插件...

shzwork
今天
2
0
mysql mysql的所有查询语句和聚合函数(整理一下,忘记了可以随时看看)

查询所有字段 select * from 表名; 查询自定字段 select 字段名 from 表名; 查询指定数据 select * from 表名 where 条件; 带关键字IN的查询 select * from 表名 where 条件 [not] in(元素...

edison_kwok
昨天
9
0
多线程同时加载缓存实现

import com.google.common.cache.Cache;import com.google.common.cache.CacheBuilder;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorServi......

暗中观察
昨天
3
0
利用VisualVM 内存查看

准备工作,建几个测试类。等下就是要查看这几个类里面的属性 package visualvm;public class MultiObject { private String str; private int i; MultiObject(String str...

冷基
昨天
2
0
组装一台工作游戏两用机

一、配置清单如下: 分类 项目 价格(元) 主板 华硕(ASUS)TUF Z370-PLUS GAMING II 电竞特工 Z370二代 支持9代CPU 1049 CPU 英特尔(Intel) i7 8700K 酷睿六核 盒装CPU处理器 2640 风扇 九...

mbzhong
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部