solr搭建+zk

http://www.chepoo.com/solrcloud-tomcat-install-3.html

接着上一篇文章: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技术精华网

猜你喜欢

转载自gchgaby.iteye.com/blog/2231673
今日推荐