当前位置: 首页 > solr, 搜索 > 正文

solrcloud在tomcat下安装(三)

1 星2 星3 星4 星5 星 (2 次投票, 评分: 5.00, 总分: 5)
Loading ... Loading ...
baidu_share

接着上一篇文章:solrcloud在tomcat下安装(二)

现在来说说第三种情况:多台zookeeper服务器,多台solr服务器
多台zookeeper服务器具备系统高可靠性,高可用性,任意一台zookeeper服务器挂掉,系统会选举出一台服务器为leader。任意一台solr服务器挂掉,系统还是可以用的。

1.在分别在机器上192.168.1.2,192.168.1.3,192.168.1.4安装tomcat和solr。具体请参考:tomcat7下安装solr 4.3

2.更改192.168.1.2的solr_home目录下的solr.xml文件,将hostPort端口更新为8080;host改为本机192.168.1.2,改为192.168.1.2原因是,假如你本机有多个ip,host可能被认识成别的ip。

<cores adminPath="/admin/cores" defaultCoreName="collection1" host="192.168.1.2" hostPort="8080" hostContext="${hostContext:solr}" zkClientTimeout="${zkClientTimeout:15000}">
    <core name="collection1" instanceDir="collection1" />
  </cores>

按照以上方法,分别配置192.168.1.3,192.168.1.4的solr_home目录下的solr.xml文件

3.更改192.168.1.2的solr_home目录下的zoo.cfg文件,增加如下内容: 

server.1=192.168.1.2:2888:3888
server.2=192.168.1.3:2888:3888 
server.3=192.168.1.4:2888:3888

假如你是单机伪分布式

server.1=localhost:2888:3888
server.2=localhost:2889:3889 
server.3=localhost:2889:3889
zoo.cfg配置参数详解:

tickTime:心跳时间,为了确保连接存在的,以毫秒为单位,最小超时时间为两个心跳时间

initLimit:多少个心跳时间内,允许其他server连接并初始化数据,如果ZooKeeper管理的数据较大,则应相应增大这个值

clientPort:服务的监听端口

dataDir:用于存放内存数据库快照的文件夹,同时用于集群的myid文件也存在这个文件夹里(注意:一个配置文件只能包含一个dataDir字样,即使它被注释掉了。)

dataLogDir:用于单独设置transaction log的目录,transaction log分离可以避免和普通log还有快照的竞争

syncLimit:多少个tickTime内,允许follower同步,如果follower落后太多,则会被丢弃。

4.更改192.168.1.2的solr_home目录,新建zoo_data目录(第一次的时候需要新建),在zoo_data目录新建myid文件,设置内容为1。

sudo sh -c 'echo "1" >> myid'

5.更改192.168.1.3的solr_home目录下的zoo.cfg文件,增加如下内容: 

server.1=192.168.1.2:2888:3888
server.2=192.168.1.3:2888:3888 
server.3=192.168.1.4:2888:3888

6.更改192.168.1.3的solr_home目录,新建zoo_data目录(第一次的时候需要新建),在zoo_data目录新建myid文件,设置内容为2。

sudo sh -c 'echo "2" >> myid'

7.更改192.168.1.4的solr_home目录下的zoo.cfg文件,增加如下内容: 

server.1=192.168.1.2:2888:3888
server.2=192.168.1.3:2888:3888 
server.3=192.168.1.4:2888:3888

8.更改192.168.1.4的solr_home目录,新建zoo_data目录(第一次的时候需要新建),在zoo_data目录新建myid文件,设置内容为3。

sudo sh -c 'echo "3" >> myid'

9.在192.168.1.2的tomcat\bin目录下,编辑catalina.bat文件,修改最开头的set JAVA_OPTS为:

set JAVA_OPTS=-Dbootstrap_confdir=e:/sdk/solrhome/collection1/conf -Dcollection.configName=xq -DzkRun -DzkHost=192.168.1.2:9080,192.168.1.3:9080,192.168.1.4:9080 -DnumShards=1 

在linux下为:

export JAVA_OPTS=-Dbootstrap_confdir==/home/develop/xq/solrhome/collection1/conf -Dcollection.configName=xq -DzkRun -DzkHost=192.168.1.2:9080,192.168.1.3:9080,192.168.1.4:9080 -DnumShards=1 

10.在192.168.1.3的tomcat\bin目录下,编辑catalina.bat文件,修改最开头的set JAVA_OPTS为:

set JAVA_OPTS=-DzkRun -DzkHost=192.168.1.2:9080,192.168.1.3:9080,192.168.1.4:9080 

在linux下为:

export JAVA_OPTS=-DzkRun -DzkHost=192.168.1.2:9080,192.168.1.3:9080,192.168.1.4:9080 

11.在192.168.1.4的tomcat\bin目录下,编辑catalina.bat文件,修改最开头的set JAVA_OPTS为:

set JAVA_OPTS=-DzkRun -DzkHost=192.168.1.2:9080,192.168.1.3:9080,192.168.1.4:9080 

在linux下为:

export JAVA_OPTS=-DzkRun -DzkHost=192.168.1.2:9080,192.168.1.3:9080,192.168.1.4:9080 

12.清理之前运行时zookeeper生成的节点信息内容。删除下各个tomcat下的solr_home下的zoo_data文件中的version-2文件夹即可。

13.到此全部配置完成,启动3个tomcat后,访问http://192.168.1.3:8080/solr/#/~cloud 即可

备注:当你启动tomcat后,看到报错,connection refused,没有关系,zookeeper需要等待其他另个节点的加入,全部启动之后就正常了。
zookeeper-msg

configs:保存上传的配置文件信息
clusterstate.json:集群状态json
aliases:别名json
live_node:当solr服务器启动的时候,会注册到这里
overseer:保存shard信息
overseer_elect:节点选举
collections:所有的collection

我们也可以用http请求去创建一个collection。例如:

http://192.168.1.2:8080/solr/admin/collections?action=CREATE&name=xq_test&numShards=1&replicationFactor=3&maxShardsPerNode=3

本文固定链接: http://www.chepoo.com/solrcloud-tomcat-install-3.html | IT技术精华网

solrcloud在tomcat下安装(三):等您坐沙发呢!

发表评论