solr与zookeeper搭建solrcloud分布式索引服务实例

原创
2014/08/13 21:34
阅读数 3.7W

安装前准备

  1. http://mirrors.hust.edu.cn/apache/zookeeper/ 

  2. http://apache.fayea.com/apache-mirror/tomcat/tomcat-7/v7.0.55/src/

  3.  https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip

 

  1.  

http://apache.fayea.com/apache-mirror/lucene/solr/4.9.0/

 

把压缩包解压D:\apache

解压tomcat然后复制四份,形成四个模拟节点,分别重命名为tomcat7-8983......,如下图,以下文中均成为这个文件夹为8983,8984,8985,8986

  1. 1.    8983-8986下面都要新建文件夹solrbase,解压solr-4.9.0,将solr-4.9.0\solr-4.9.0\example下面的solr这个文件夹拷贝到solrbase下面。然后将solr-4.9.0\webapps下面的solr.war 分别复制到8983\webapps,依次复制到8984,8985,8986对应的webapps下面。

  2. 这个时候,就可以启动8983/bin/start.bat文件,让tomcat启动起来,再去8983\conf\Catalina\localhost下面新建solr.xml文件,文件内容为:

<?xml version="1.0" encoding="UTF-8"?>

<Context docBase="D:/apache/tomcat7-8983/webapps/solr" debug="0" crossContext="true" >

   <Environment name="solr/home" type="java.lang.String" value="D:/apache/tomcat7-8983/solrbase/solr" override="true" />

</Context>

注意:docBase的值是根据自己拷贝在tomcat容器中的war包的位置而定,solr/homevalue是自己在第三步刚刚建立的solrbasesolr的目录

 

3..重复上面的操作,分别进行8984,8985,8986的设置。

为了tomcatserver的启动端口不会有被占用的情况,需要在80848985,8986三个目录conf下面的server.xml文件修改端口。

8983文件下面,修改 <Connector port="8983" protocol="HTTP/1.1"    connectionTimeout="20000"  redirectPort="8443" /> port就行。8984下面port8984,其他的所有端口全部加1就行。

 

4.解压zookeeper-3.3.6.tar.gzapache\zookeeper-3.3.6,然后再目录下新建temp作为临时数据文件夹。重命名apache\zookeeper-3.3.6\confzoo_sample.cfgzoo.cfg,修改其中的dataDir为你刚刚新建的temp文件夹,启动apache/zookeeper-3.3.6/bin/zkServerNaNd.

5. 制定8983leader节点,需要在8983目录下的bin/catalina.bat中的第二行添加

set JAVA_OPTS=-Dbootstrap_confdir=D:\apache\tomcat7-8983\solrbase\solr\collection1\conf -Dcollection.configName=clusterconf -DzkRun -DzkHost=localhost:2181 -DnumShards=2

注意:-Dbootstrap_confdir的值是你的solr/home下面的collection1\conf文件

8984,8985,8986下面bin/catalina.bat文件第二行添加:

set JAVA_OPTS=-DzkRun -DzkHost=localhost:2181 -DnumShards=2

  1. 5.    更改solr启动端口,对应你的tomcat端口

  1. 6.    由于solr4.3以后的日志发生变化了,需要将

这几个jar文件复制到D:\apache\tomcat7-8983\webapps\solr\WEB-INF\lib下去,同理8984,8985,8986一样要这么做。

8983\webapps\solr\WEB-INF下面新建文件夹classes,将solr-4.9.0\example\resources/log4j.properties文件拷贝刚刚建立的classes文件下,并且修改第十六行出log4j.appender.file.File=../solr_logs/solr.log 日志路径是自己制定的。

  1. 8.先启动zk服务器,在依次启动tomcat 8983…8986


展开阅读全文
打赏
8
41 收藏
分享
加载中
遇到lock住的问题,第一个tomcat启动后,后面就无法正常启动solr(tomcat修改了三处端口), 修改如下配置,就都启动没问题了
<lockType>${solr.lock.type:simple}</lockType>
<unlockOnStartup>true</unlockOnStartup>

现在的问题是,仅仅在shared2点出有一条leader节点,其他三个都没有显示出来,不知道出了什么问题
2016/06/03 18:06
回复
举报
666
2016/01/18 12:03
回复
举报
solrcloud5.2.1+zookeeper一部精通
课程观看地址:http://www.xuetuwuyou.com/course/15
课程介绍


一、课程使用到的软件及版本: centos系统,solr5.2.1,zookeeper 3.4.6

二、课程大纲

1、zookeeper集群搭建,以及配置信息,zookeeper客户端命令讲解
2、solrcloud在生产环境下的搭建
3、创建collection,如何动态加载配置到zookeeper中,以及schema的详解
4、solr索引文件夹,uuid与uniqueKey的讲解,如何使用uuid自动生成uniqueKey
5、solr DIH导入mysql数据
6、mysql的增量导入,以及各种datasource的讲解
7、ik分词器
8、详细讲解文档的Fields以及solrconfig.xml的相关配置,以及solrweb管理界面描述(上)
9、solrweb管理界面描述(下)
10、solr spellcheck以及solr源码转maven项目
11、solr 的UTC时间修改,ik分词器源码修改动态加载分词,停顿词(上)
12、ik分词器源码修改动态加载分词,停顿词(下)
13、solrj与springMVC整合
14、spring solrj的简单增删改查,权重设置
15、spring solrj的Faceting搜索Highlighting高亮(上)
16、spring solrj的Faceting搜索Highlighting高亮(下)
17、solr的近实时索引搜索以及实时索引搜索,搜索平台架构的详细剖析
18、solr-suggest1
19、solr-suggest实战
20、solr如何快速索引海量数据
2015/12/16 18:51
回复
举报
我有一个疑问 这里有4个solr服务器对外提供服务 当其中一台死掉后 如何让用户在无感知的情况下自动切换到其他活着的服务器上呢 每次访问的时候都是指定端口号的(http://192.168.1.119:8984/solr/#/~cloud) 如果当8984这台服务器死掉后就没法访问了 这该如何解决呢 期待解答 thks
2015/12/01 10:43
回复
举报

引用来自“ax2472”的评论

我有一个疑问 这里有4个solr服务器对外提供服务 当其中一台死掉后 如何让用户在无感知的情况下自动切换到其他活着的服务器上呢 每次访问的时候都是指定端口号的(http://192.168.1.119:8984/solr/#/~cloud) 如果当8984这台服务器死掉后就没法访问了 这该如何解决呢 期待解答 thks
你好,请问 问题解决了吗?我现在看这个文章 有这个疑问。。。望解答。
2015/12/01 10:43
回复
举报
已解决
2015/09/20 13:03
回复
举报

引用来自“ax2472”的评论

找到原因了 还是tomcat端口设置的问题 配置成功了 79
怎么解决的啊
2015/09/20 11:24
回复
举报
我有一个疑问 这里有4个solr服务器对外提供服务 当其中一台死掉后 如何让用户在无感知的情况下自动切换到其他活着的服务器上呢 每次访问的时候都是指定端口号的(http://192.168.1.119:8984/solr/#/~cloud) 如果当8984这台服务器死掉后就没法访问了 这该如何解决呢 期待解答 thks
2015/04/09 18:12
回复
举报
找到原因了 还是tomcat端口设置的问题 配置成功了 79
2015/04/09 17:43
回复
举报
集群失败了 启动一个tomcat没问题 启动不了多个tomcat 只能启动一个 报错信息是socket bind fail 照理说我每个tomcat的端口都不样应该不会端口冲突的 4个tomcat的端口分别为8983 8984 8985 8986 但只能启动成功一个 这可能是由什么原因引起的呢? 求解答。。。
2015/04/09 17:31
回复
举报
更多评论
打赏
12 评论
41 收藏
8
分享
返回顶部
顶部