您的位置:首页 > 运维架构 > Tomcat

window下zookeeper+tomcat+solr搭建solrCloud

2016-05-05 09:58 573 查看
1:下载相应的开源软件,本说明以一下软件版本为例说明

solr4.9.0 tomcat7.0.54 zookeeper3.4.6

2: 将zookeeper解压

1)放到 任意一个自定义目录下,比如 solrCloud目录下,重命名为 zk-server_1。

2)然后在 这个目录下新建 data目录 和 logs目录。建好后在data目录下新建文件myid,注意没有任何后缀,然后在里面写入内容 1 即可。

3)进入zk-server_1目录下的conf目录,找到zoo_sample.cfg 将其重命名为 zoo.cfg即可。

4)文本打开zoo.cfg,然后在里面编辑如下内容:

tickTime=2000

initLimit=5

syncLimit=2

dataDir=E:/solr/workspace/zk-server_1/data

clientPort=2181

dataLogDir=E:/solr/workspace/zk-server_1/logs

server.1=127.0.0.1:2888:3888

server.2=127.0.0.1:2889:3889

server.3=127.0.0.1:2890:3890

其中 dataDir就是刚才新建的data目录地址,dataLogDir就是刚新建的logs目录。

下面的server.1、server.2、server.3分别对应zookeeper安装的机器。

其中 1 是一个数字,表示这个是第几号服务器;127.0.0.1 是这个服务器的 ip 地址;2888 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;

3888 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

clientPort就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求

5)复制两份 zk-server_1分别命名为zk-server_2、zk-server_3

修改其中的myid分别对应 2 、3 即可。

然后编辑zoo.cfg文件将 clientPort修改成2182,2183,dataDir、 dataLogDir修改成对应的data和logs目录即可。

6)至此zookeeper配置完成。

3:在solrCloud目录下新建 solr_home_1 然后将solr4.9解压目录下的example\solr下的所有内容都copy到solr_home_1目录下。

4:在solrCloud目录下解压tomcat7.0.54,重命名为tomcat-server_1

1)修改tomcat-server_1的端口。

2)将solr4.9下的example\webapps目录下的solr.war复制到tomcat-server_1\webapps目录下

3)启动tomcat-server_1,tomcat会自动解压solr.war

4)进入solr项目下的WEB-INF目录下的web.xml文件,修改如下内容:

<env-entry>

<env-entry-name>solr/home</env-entry-name>

<env-entry-value>E:/solr/workspace/solr_home_1</env-entry-value>

<env-entry-type>java.lang.String</env-entry-type>

</env-entry>

添加solr_home路径

5)将solr-4.9.0\example\lib\ext下的所有的jar包拷贝到tomcat-server_1\webapps\solr\WEB-INF\lib下启动tomcat。

6)如果启动报错,检查你的tomcat使用的jdk,需要使用jdk1.7+才行。

7)在浏览器中输入http://localhost:2222/solr 检查是否能够访问,如果能够正常访问,说明配置成功。

8)复制两份tomcat-server_1,分别命名为tomcat-server_2、tomcat-server_3

9)修改tomcat-server_2和tomcat-server_3的端口号,并且修改solr\WEB-INF\web.xml文件的solr_home路径。

10)分别启动tomcat-server_2和tomcat-server_3,然后在浏览器中输入地址验证solr能否正常访问,所有都能正常访问3台tomcat配置结束。

5:修改solr_home_1目录下的solr.xml文件

1)将hostPort端口修改为tomcat-server_1的端口号。

2)在solrCloud标签下添加<str name="zkHost">127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183</str>,其中的内容为zookeeper的配置文件zoo.cfg中zookeeper客户端访问的地址和端口。如下:

<solrcloud>

<str name="host">${host:}</str>

<int name="hostPort">2222</int>

<str name="hostContext">${hostContext:solr}</str>

<int name="zkClientTimeout">${zkClientTimeout:30000}</int>

<bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>

<str name="zkHost">127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183</str>

</solrcloud>

3)修改solr_home_2、solr_home_3目录下的solr.xml文件,参考solr_home_1修改hostPort为tomcat的端口,添加<str name="zkHost">127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183</str>即可。

6:在tomcat-server_1\bin目录下编辑catalina.bat,在setlocal后面添加

set JAVA_OPTS=-Dbootstrap_confdir=E:/solr/workspace/solr_home_1/collection1/conf -Dcollection.configName=myconf -DnumShards=3

其中confdir是solr_home_1的路径

7:至此,window下的伪solrCloud集群就弄好了,分别启动zk-server_1、zk-server_2、zk-server_3然后在启动tomcat-server_1,地址栏输入solr的访问路径就可以看到Cloud了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: